Difference between r1.4 and the current
@@ -1,46 +1,4 @@
* http://www.bigprimes.net
== Python Client ==
{{{
import socket
addr = ('255.255.255.255', 3333)
UDPSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # Create socket
UDPSock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
print ('Enter your message:')
print ('- Empty message to stop this client.')
while True:
data = raw_input('>> ')
if len(data) == 0:
break
else:
if UDPSock.sendto(data, addr):
print ("Sending message '%s'..." % data)
UDPSock.close()
print ('Client stopped.')
}}}
{{{
import socket
rcv_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
rcv_sock.bind(("", 3333))
except:
print "Error at Binding"
while True:
print "Listening..."
data, addr = rcv_sock.recvfrom(3333)
print "Got %s" % data
}}}
== 키 생성 ==
두 개의 p != q인 큰 소수 p와 q를 선택한다.
n <- p*q
두 개의 p != q인 큰 소수 p와 q를 선택한다.
n <- p*q
키 생성 ¶
두 개의 p != q인 큰 소수 p와 q를 선택한다.
n <- p*q
φ(n) <- (p-1)*(q-1)
1 < e < φ(n)이면서 φ(n)과 서로소인 e를 선택한다.
d <- e–1 mod φ(n)
n <- p*q
φ(n) <- (p-1)*(q-1)
1 < e < φ(n)이면서 φ(n)과 서로소인 e를 선택한다.
d <- e–1 mod φ(n)
(e, n) 은 공개키, d는 개인키
암호화 ¶
C : 암호문, P : 평문
C = Pe mod n
C = Pe mod n