payload: {"action":"created","comment":{"url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/comments/257467519","pull_request_review_id":204526280,"id":257467519,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI1NzQ2NzUxOQ==","diff_hunk":"@@ -2,33 +2,200 @@\n \\section{Block Cipher Design and Cryptanalysis}\n \\label{sec:cryptanalysis}\n \n-We've seen some theoretical ways to build block ciphers, namely Feistel\n-constructions using round functions that are secure as PRFs. There are other\n-constructions as well, such as Evan-Mansour \\tnote{Should probably include\n-somewhere}. But this is reductive, since it's unclear how to build the PRFs\n-themselves. One could imagine trying to use actual random functions, but this is\n-intractable for large block sizes --- the secret key in this case being a random\n-table requring $n2^n$ bits. \n+So far we've seen some theoretical ways to construct block ciphers, namely Feistel networks using round functions that are as secure are PRFs. There are other ways to build block ciphers such as the Even-Mansour~\\cite{EvenMansour} construction from a single known PRP. It is basically of the form: \n+\\[ E_{<K_1, K_2>}(M) = F(M \\xor K_1) \\xor K_2 \\] \n+Here, \\( K_1, K_2 \\) are the keys used for Message \\(M\\) and \\(F\\) is a PRP that is known (or can be easily obtained) for the Even-Mansour encryption scheme \\(E\\). \n+\\par But these kinds of designs can prove to be reductive since the mechanisms to build PRFs in practice is itself unclear. One could try to use actual random functions. But this is untractable for large block sizes,  the secret key, in this case, being a random table requiring $n2^n$ bits\n+(For block sizes of n, the lookup table has to have at least $2^n$ possible n-bit string values to look indistinguishable from a random function for\n+a particular key). \\newline\n+In practice block ciphers are built using a bag of specific design principles that have been developed over the past 60 or so years in response to new cryptoanalytic techniques. It is important to note that block ciphers by themselves are just tools. Like any other tool, they must be used correctly in order for them to satisfy certain security properties that end users might care about. \\newline\n+For example, the identity cipher satisfies all the mathematical properties of a block cipher. But it is of no real use since it doesn't hide\n+the message (in other words, it doesn't provide message confidentiality). \\newline\n+Another example is the one-time pad which we have proved to be perfectly secure. But under closer examination, we see that the one-time pad can easily be broken if the key is reused more than once. (Basically, if one of the messages is known under a known plain text attack, the attacker can retrieve the key) \\newline\n+Here, we will study two kinds of common block cipher constructions DES (Data Encryption Standard) and AES (Advanced Encryption Standard) that are used in practice and use cryptanalysis to evaluate the effectiveness of these ciphers.\\newline \\newline\n \n-In practice block ciphers are built using a bag of design principles that have been built\n-up over the last 60 or so years, in response to new techniques for\n-cryptanalysis.\n+\\subsection{DES: Data Encryption Standard}\n+\\par DES was developed at IBM in the 1970s with the support of the NSA. It has been the single most widely used cipher and was responsible for jump-starting the field of cryptanalysis. The precursor to DES was IBM's block cipher called Lucifer. Certain variants of Lucifer\n+operated on 128-bit blocks using 128-bit keys. The National Bureau of Standards, however, asked for a block cipher that used shorter blocks \n+(64 bits) and shorter keys (56 bits). In response, the IBM team designed a block cipher that met these requirements which eventually became \n+DES. \\cite{BonehShoupBook}.\n \n-\\tnote{Perhaps discuss really trivially broken ciphers, such as ones that are\n-completely linear functions, or partially linear functions}\n+\\par We will see that reducing the block size creates problems and DES is now considered insecure and should not be used. We will discuss a more secure variant of DES called Triple-DES that has been approved by NIST through to 2030 and is currently in use\\cite{BonehShoupBook}. \n \n+\\newpage\n \n-\\paragraph{Linear cryptanalysis.} \\tnote{Discuss Matsui's paper, the high level\n-intuition and how it can be used to break DES}  \n+\\begin{figure}{r}{2.5in}\n+\\center\n+\\begin{tikzpicture}\n+\\begin{tikzpicture}\n+    \\node [rectangle] (fiestel) at (5,5) [draw,thick, minimum width=1.5cm, minimum height=1.5cm] {16 Round Fiestel Network} ;\n+    \n+    \\node [rectangle] (in) [left of = fiestel, node distance = 4.5cm, draw,thick,minimum width=1.5cm,minimum height=0.5cm, rotate=90, anchor=north] {64 bits input};\n+    \n+    \\node [rectangle] (key) at (5,7.5) [ draw,thick,minimum width=0.6cm,minimum height=0.5cm] {56 bit key};\n+    \n+    \\node [rectangle] (out) [right of = fiestel, node distance = 4.5cm, draw,thick,minimum width=1.5cm,minimum height=0.5cm, rotate=90, anchor=north] {64 bits output};\n+    \n+    \\node [circle] (ip) [left of = fiestel, node distance = 3.0cm, draw,thick,minimum width=0.7cm,minimum height=0.7cm] {ip};\n+    \n+    \\node [circle] (ifp) [right of = fiestel, node distance = 3.0cm, draw,thick,minimum width=0.7cm,minimum height=0.7cm, scale = 0.7] { $ip^{-1}$};\n+    \n+    \\draw [->, thick] (in)--(ip) {};\n+    \\draw [->] (ip)--(fiestel) {};\n+    \\draw [->] (fiestel)--(ifp) {};\n+    \\draw [->, thick] (ifp)--(out) {};\n+    \n+    \\node (keynode) at (1,) {};\n+    \\node (junc1) [above left of = fiestel, node distance = 2cm] {};\n+    \n+    \\node (junc2) [right of = junc1, node distance = 0.75cm] {};\n+    \n+    \\node (junc3) [right of = junc1, node distance = 2.75cm] {};\n+    \n+    %\\path (key) edge (junc1) {};\n+    %\\path (junc1) edge () {};\n+    %\\path (key) edge (junc2) {};\n+    %\\path (key)  edge[dotted] (junc3) {};\n+    \n+    \\node (end1) [below of = junc1, node distance = 0.5cm] {\\(k_1\\)};\n+    \\draw[->] (key) edge (end1) {};\n+    \n+    \\node (end2) [below of = junc2, node distance = 0.5cm] {\\(k_2\\)};\n+    \\draw[->] (key) edge (end2) {};\n+    \n+    \\node (end3) [below of = junc3, node distance = 0.5cm] {\\(k_{16}\\)};\n+    \\draw[->, dotted] (key) edge (end3) {};\n+    \n+    %\\draw[-] (keynode)--(junc1)  (keynode)--(junc2)  (keynode)--(junc3) {};\n+    \n+\\end{tikzpicture}\n \n-\\tnote{Also shown in Boneh-Shoup book}\n+\\end{tikzpicture}\n+\\caption{Constructing DES from a fiestel network}\n+\\label{fig:des}\n+\\end{figure}\n \n+%\\begin{figure}%{r}{1inch}\n+%\\right\n \n-\\bne\n-\\label{eq:linear-approx}\n-  \\Prob{M[S_m] \\oplus C[S_c] = K[S_k]} = \\frac{1}{2} + \\epsilon\n-\\ene\n \n+\\newpage\n+\n+\\subsubsection*{Construction of DES} DES uses a Feistel network construction spanning 16 rounds and a different function at each round. DES at a high level takes an input of 64 bits and permutes it in an initial permutation (ip). Afterward, the 64 bits are split into 32-bit parts, \\( L_0, R_0\\) which are taken as inputs into the first round of the Feistel network. The input key is 56 bits and DES uses a key schedule that expands the 56-bit key into 16, 48-bit round keys which are used in each round of DES. After all the rounds of the Feistel network, DES runs one final permutation that is the inverse of the initial permutation $ip^{-1}$ before returning the output ciphertext. \\newline \\newline\n+\n+\n+Let $ip$ be the permutation function and $F : \\{0,1\\}^{64} \\to \\{0,1\\}^{64}$ the fiestel network function. Then for any message m where (\\( |m| = 64 \\) bits) and key k where (\\( |k| = 56 \\) bits), DES can be defined as follows:","path":"notes/cryptanalysis.tex","position":105,"original_position":105,"commit_id":"f991460a155cae1c10599f01c9d789b1d4f7d23a","original_commit_id":"f991460a155cae1c10599f01c9d789b1d4f7d23a","user":{"login":"rolph-recto","id":1813560,"node_id":"MDQ6VXNlcjE4MTM1NjA=","avatar_url":"https://avatars1.githubusercontent.com/u/1813560?v=4","gravatar_id":"","url":"https://api.github.com/users/rolph-recto","html_url":"https://github.com/rolph-recto","followers_url":"https://api.github.com/users/rolph-recto/followers","following_url":"https://api.github.com/users/rolph-recto/following{/other_user}","gists_url":"https://api.github.com/users/rolph-recto/gists{/gist_id}","starred_url":"https://api.github.com/users/rolph-recto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rolph-recto/subscriptions","organizations_url":"https://api.github.com/users/rolph-recto/orgs","repos_url":"https://api.github.com/users/rolph-recto/repos","events_url":"https://api.github.com/users/rolph-recto/events{/privacy}","received_events_url":"https://api.github.com/users/rolph-recto/received_events","type":"User","site_admin":false},"body":"nitpick: you should also write inline math text in math mode.\r\n\r\n`message m where ...` should be `message $m$`","created_at":"2019-02-16T16:56:59Z","updated_at":"2019-02-16T16:56:59Z","html_url":"https://github.com/cornelltech/CS6831-Spring2019/pull/5#discussion_r257467519","pull_request_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/5","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/comments/257467519"},"html":{"href":"https://github.com/cornelltech/CS6831-Spring2019/pull/5#discussion_r257467519"},"pull_request":{"href":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/5"}},"in_reply_to_id":256982581},"pull_request":{"url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/5","id":252163749,"node_id":"MDExOlB1bGxSZXF1ZXN0MjUyMTYzNzQ5","html_url":"https://github.com/cornelltech/CS6831-Spring2019/pull/5","diff_url":"https://github.com/cornelltech/CS6831-Spring2019/pull/5.diff","patch_url":"https://github.com/cornelltech/CS6831-Spring2019/pull/5.patch","issue_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/issues/5","number":5,"state":"open","locked":false,"title":"removing faulty diagrams for now, adding TODOS. -- Initial draft","user":{"login":"sjd266","id":42002387,"node_id":"MDQ6VXNlcjQyMDAyMzg3","avatar_url":"https://avatars3.githubusercontent.com/u/42002387?v=4","gravatar_id":"","url":"https://api.github.com/users/sjd266","html_url":"https://github.com/sjd266","followers_url":"https://api.github.com/users/sjd266/followers","following_url":"https://api.github.com/users/sjd266/following{/other_user}","gists_url":"https://api.github.com/users/sjd266/gists{/gist_id}","starred_url":"https://api.github.com/users/sjd266/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjd266/subscriptions","organizations_url":"https://api.github.com/users/sjd266/orgs","repos_url":"https://api.github.com/users/sjd266/repos","events_url":"https://api.github.com/users/sjd266/events{/privacy}","received_events_url":"https://api.github.com/users/sjd266/received_events","type":"User","site_admin":false},"body":"","created_at":"2019-02-12T03:22:41Z","updated_at":"2019-02-16T16:56:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7a9674fbce09ff6713fabbb9d6b0a5d609edcc66","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/5/commits","review_comments_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/5/comments","review_comment_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/issues/5/comments","statuses_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/statuses/f991460a155cae1c10599f01c9d789b1d4f7d23a","head":{"label":"sjd266:master","ref":"master","sha":"f991460a155cae1c10599f01c9d789b1d4f7d23a","user":{"login":"sjd266","id":42002387,"node_id":"MDQ6VXNlcjQyMDAyMzg3","avatar_url":"https://avatars3.githubusercontent.com/u/42002387?v=4","gravatar_id":"","url":"https://api.github.com/users/sjd266","html_url":"https://github.com/sjd266","followers_url":"https://api.github.com/users/sjd266/followers","following_url":"https://api.github.com/users/sjd266/following{/other_user}","gists_url":"https://api.github.com/users/sjd266/gists{/gist_id}","starred_url":"https://api.github.com/users/sjd266/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjd266/subscriptions","organizations_url":"https://api.github.com/users/sjd266/orgs","repos_url":"https://api.github.com/users/sjd266/repos","events_url":"https://api.github.com/users/sjd266/events{/privacy}","received_events_url":"https://api.github.com/users/sjd266/received_events","type":"User","site_admin":false},"repo":{"id":170243448,"node_id":"MDEwOlJlcG9zaXRvcnkxNzAyNDM0NDg=","name":"CS6831-Spring2019","full_name":"sjd266/CS6831-Spring2019","private":false,"owner":{"login":"sjd266","id":42002387,"node_id":"MDQ6VXNlcjQyMDAyMzg3","avatar_url":"https://avatars3.githubusercontent.com/u/42002387?v=4","gravatar_id":"","url":"https://api.github.com/users/sjd266","html_url":"https://github.com/sjd266","followers_url":"https://api.github.com/users/sjd266/followers","following_url":"https://api.github.com/users/sjd266/following{/other_user}","gists_url":"https://api.github.com/users/sjd266/gists{/gist_id}","starred_url":"https://api.github.com/users/sjd266/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjd266/subscriptions","organizations_url":"https://api.github.com/users/sjd266/orgs","repos_url":"https://api.github.com/users/sjd266/repos","events_url":"https://api.github.com/users/sjd266/events{/privacy}","received_events_url":"https://api.github.com/users/sjd266/received_events","type":"User","site_admin":false},"html_url":"https://github.com/sjd266/CS6831-Spring2019","description":"Designing Secure Cryptography","fork":true,"url":"https://api.github.com/repos/sjd266/CS6831-Spring2019","forks_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/forks","keys_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/teams","hooks_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/hooks","issue_events_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/issues/events{/number}","events_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/events","assignees_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/assignees{/user}","branches_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/branches{/branch}","tags_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/tags","blobs_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/git/refs{/sha}","trees_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/statuses/{sha}","languages_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/languages","stargazers_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/stargazers","contributors_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/contributors","subscribers_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/subscribers","subscription_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/subscription","commits_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/commits{/sha}","git_commits_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/git/commits{/sha}","comments_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/comments{/number}","issue_comment_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/issues/comments{/number}","contents_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/contents/{+path}","compare_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/merges","archive_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/downloads","issues_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/issues{/number}","pulls_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/pulls{/number}","milestones_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/milestones{/number}","notifications_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/labels{/name}","releases_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/releases{/id}","deployments_url":"https://api.github.com/repos/sjd266/CS6831-Spring2019/deployments","created_at":"2019-02-12T03:13:54Z","updated_at":"2019-02-12T03:18:42Z","pushed_at":"2019-02-12T03:18:40Z","git_url":"git://github.com/sjd266/CS6831-Spring2019.git","ssh_url":"git@github.com:sjd266/CS6831-Spring2019.git","clone_url":"https://github.com/sjd266/CS6831-Spring2019.git","svn_url":"https://github.com/sjd266/CS6831-Spring2019","homepage":null,"size":42258,"stargazers_count":0,"watchers_count":0,"language":"TeX","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"cornelltech:master","ref":"master","sha":"9a1034c5b6e294affe23a3910d62d8a05682ac92","user":{"login":"cornelltech","id":5170663,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUxNzA2NjM=","avatar_url":"https://avatars1.githubusercontent.com/u/5170663?v=4","gravatar_id":"","url":"https://api.github.com/users/cornelltech","html_url":"https://github.com/cornelltech","followers_url":"https://api.github.com/users/cornelltech/followers","following_url":"https://api.github.com/users/cornelltech/following{/other_user}","gists_url":"https://api.github.com/users/cornelltech/gists{/gist_id}","starred_url":"https://api.github.com/users/cornelltech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cornelltech/subscriptions","organizations_url":"https://api.github.com/users/cornelltech/orgs","repos_url":"https://api.github.com/users/cornelltech/repos","events_url":"https://api.github.com/users/cornelltech/events{/privacy}","received_events_url":"https://api.github.com/users/cornelltech/received_events","type":"Organization","site_admin":false},"repo":{"id":163980296,"node_id":"MDEwOlJlcG9zaXRvcnkxNjM5ODAyOTY=","name":"CS6831-Spring2019","full_name":"cornelltech/CS6831-Spring2019","private":false,"owner":{"login":"cornelltech","id":5170663,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUxNzA2NjM=","avatar_url":"https://avatars1.githubusercontent.com/u/5170663?v=4","gravatar_id":"","url":"https://api.github.com/users/cornelltech","html_url":"https://github.com/cornelltech","followers_url":"https://api.github.com/users/cornelltech/followers","following_url":"https://api.github.com/users/cornelltech/following{/other_user}","gists_url":"https://api.github.com/users/cornelltech/gists{/gist_id}","starred_url":"https://api.github.com/users/cornelltech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cornelltech/subscriptions","organizations_url":"https://api.github.com/users/cornelltech/orgs","repos_url":"https://api.github.com/users/cornelltech/repos","events_url":"https://api.github.com/users/cornelltech/events{/privacy}","received_events_url":"https://api.github.com/users/cornelltech/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/cornelltech/CS6831-Spring2019","description":"Designing Secure Cryptography","fork":false,"url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019","forks_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/forks","keys_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/teams","hooks_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/hooks","issue_events_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/issues/events{/number}","events_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/events","assignees_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/assignees{/user}","branches_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/branches{/branch}","tags_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/tags","blobs_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/git/refs{/sha}","trees_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/statuses/{sha}","languages_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/languages","stargazers_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/stargazers","contributors_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/contributors","subscribers_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/subscribers","subscription_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/subscription","commits_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/commits{/sha}","git_commits_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/git/commits{/sha}","comments_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/comments{/number}","issue_comment_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/issues/comments{/number}","contents_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/contents/{+path}","compare_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/merges","archive_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/downloads","issues_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/issues{/number}","pulls_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls{/number}","milestones_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/milestones{/number}","notifications_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/labels{/name}","releases_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/releases{/id}","deployments_url":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/deployments","created_at":"2019-01-03T14:01:37Z","updated_at":"2019-02-12T05:03:06Z","pushed_at":"2019-02-15T05:13:28Z","git_url":"git://github.com/cornelltech/CS6831-Spring2019.git","ssh_url":"git@github.com:cornelltech/CS6831-Spring2019.git","clone_url":"https://github.com/cornelltech/CS6831-Spring2019.git","svn_url":"https://github.com/cornelltech/CS6831-Spring2019","homepage":null,"size":55549,"stargazers_count":3,"watchers_count":3,"language":"TeX","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"archived":false,"open_issues_count":2,"license":null,"forks":6,"open_issues":2,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/5"},"html":{"href":"https://github.com/cornelltech/CS6831-Spring2019/pull/5"},"issue":{"href":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/issues/5"},"comments":{"href":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/cornelltech/CS6831-Spring2019/statuses/f991460a155cae1c10599f01c9d789b1d4f7d23a"}},"author_association":"NONE"}}
other: {"actor":{"display_login":"rolph-recto"}}