lec03 generic servers

This commit is contained in:
SowinskiBraeden committed 2026-09-22 12:21:27 -07:00
1 parent a579cf11a1
commit 4abfd6b848
23 files changed
+502

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
Given:
- public key = {e, n} where
e = 65537
n = 150833184288091770161966794058583103894140817040870314600690471524168617075425648362232214626866783147628121644765079260823839601102585268527908198147644311732189788842930506819720606279195272120981495283244202074795161751033872021233632806698896506286786027999600824135350742013291456231834593908211807306581
- ciphertext (in file "ciphertext.data")
To decrypt, you need to find 2 primes whose product is n. This is the
difficult part of breaking RSA encryption.
However, in this case, you are given: n = p * q where
p = 12945845173329038168894514532852761087184861453819103626524746458007544079436193033296354255392833659165781825320450882527971501424543610656635242495207243
q = 11651088227042719432197879712448441990940913399774434709130882531920046670720814447752206963062868458438310623799329703497031760471331490496164292198579167
The private key is then {d, n}, where d is the multiplicative inverse of e
modulo (p - 1) * (q - 1). (You can use a function in lab1 to calculate this.)
Then to decrypt the content of "ciphertext.data",
1) you first have to convert the content (a binary) into an integer. Let's
call it c.
2) calculate c ^ d (mod n) (Here c ^ d means c raised to the d-th power)
(You can use a function in lab1 to calculate this). Assume this gives us
m, an integer.
3) convert m to a binary to get the message
To convert a binary to an integer, think of each octet in the binary as
a digit in base 256, e.g.,
<<92, 14, 93>> gives 92 * 256^2 + 14 * 256 + 93
Converting an integer to binary requires the inverse operation (basically
keep on dividing by 256 and taking remainders)
+1
View File
@@ -0,0 +1 @@
\]\j@╦=QШ06JшёRЭ╡к█√и°][yМ ≥▒┴▓╘╦╓t poа ?ъ©x■Фъ■≥.и┤|l╨^ 7├┤С°PHoСлniЮ}2:╒4jh$©╝⌡%⌠?°зa=Ь▌ДЖrWuКBЮ1ХW Из·9Ю╖р8╫