diff options
Diffstat (limited to 'final')
-rw-r--r-- | final/final.tex | 2 | ||||
-rw-r--r-- | final/rsa.tex | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/final/final.tex b/final/final.tex index 4dc9c6d..1c706f9 100644 --- a/final/final.tex +++ b/final/final.tex @@ -3,6 +3,8 @@ \include Distributed Networks' History:networks +\include The RSA Algorithm:rsa + \vfil\eject\include Appendix:appendix \bye diff --git a/final/rsa.tex b/final/rsa.tex new file mode 100644 index 0000000..0b2962e --- /dev/null +++ b/final/rsa.tex @@ -0,0 +1,8 @@ +In determining correctness, a major concern is determining that the message hasn't been tampered with by an intelligent intermediate. +Public key cryptography tries to answer this problem by providing proof of authorship and, as an extension of ``normal'' encryption, preventing interception. +RSA is one such algorithm. +It works by providing a set of public keys to all parties, and corresponding secret private keys. + +One of the simpler algorithms, it applies the NP-hard nature of factorizing a semiprime, Euler’s theorem, and the Euclidean Algorithm to encrypt communication. +Because it is simple to devise, it has been included as a sample, in the form of a Python script which encrypts and decrypts messages, given a small RSA key (compared to those used in real applications). +There are several optimizations (such as applying the Chinese Remainder Theorem) which can be used, but none have been applied to maintain the code's simplicity. |