-
Thông tin
-
Quiz
Elgamal Signature - Tin học đại cương (IT1110) | Trường Đại học Bách khoa Hà Nội
Elgamal Signature - Tin học đại cương (IT1110) | Trường Đại học Bách khoa Hà Nội được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo. Mời bạn đọc đón xem!
Tin học đại cương 88 tài liệu
Đại học Bách Khoa Hà Nội 2.8 K tài liệu
Elgamal Signature - Tin học đại cương (IT1110) | Trường Đại học Bách khoa Hà Nội
Elgamal Signature - Tin học đại cương (IT1110) | Trường Đại học Bách khoa Hà Nội được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo. Mời bạn đọc đón xem!
Môn: Tin học đại cương 88 tài liệu
Trường: Đại học Bách Khoa Hà Nội 2.8 K tài liệu
Thông tin:
Tác giả:


Tài liệu khác của Đại học Bách Khoa Hà Nội
Preview text:
lOMoAR cPSD| 44729304 def sig (d, p, alpha , beta , x , k_E) :
# Compute r r = power_mod(alpha , k_E, p)
# Compute s k_E_inv = inverse_mod(k_E, p-1)
s = (x - d * r ) * k_E_inv % (p-1) return (r , s ) def ver (p, alpha , beta , x , r , s ) :
i f not (1 <= r <= p-1 and 1 <= s <= p-1) : return False
# Compute v1 v1 = (power_mod(beta , r , p) * power_mod(r , s , p) ) % p
# Compute v2 v2 = power_mod(alpha , x , p)
# Verify i f v1 == v2 return v1 == v2 # Given parameters d = 67 p = 97 alpha = 23 beta = 15 test_cases = [ (17 , 31) , (17 , 49) , (85 , 77) 1 lOMoAR cPSD| 44729304 ]
print (”###### Answer for 2.1 ########”) for x , k_E in test_cases :
r , s = sig (d, p, alpha , beta , x , k_E) print ( f ”Message : {x} , k_E: {k_E} , Signature : ( r={r } , s={s })”)
print (”###### Answer for 2.2 ########”) messages_signatures = [ (22 , 37 , 33) , (82 , 13 , 65) ] for x , r , s in messages_signatures : is_valid = ver (p, alpha , beta , x , r , s )
print ( f ”Message : {x , r , s } , Signature : ( r={r } , s={s }) , Valid : {\ is_valid}”)
###### Answer for 2.1 ########
Message: 17, k_E: 31, Signature: (r=87, s=20)
Message: 17, k_E: 49, Signature: (r=74, s=3)
Message: 85, k_E: 77, Signature: (r=84, s=29)
###### Answer for 2.2 ########
Message: (22, 37, 33), Signature: (r=37, s=33), Valid: True
Message: (82, 13, 65), Signature: (r=13, s=65), Valid: False 2