How are you manually entering the `Ciphertext` for decryption? Ciphertext, cipher = ['㓔', '\U000107ee', '퇫', '뺸']
On Monday, May 3, 2021 at 10:10:58 AM UTC+2 samu....@gmail.com wrote: > ''' I have the RSA code, code works when we give input to encryption and > take decryption output (plaintext and output are same), but when we > encrypt plaintext separately and take its output and give it to decryption > code as input separately, the output, is not the same as encryption input > (plaintext and output are not same). Can someone please explain why is this > happening? ''' > > > # code begins > > import sympy > from datetime import datetime > from sage.all import ZZ, GF > start_time = datetime.now() > print("RSA Encryption and Decryption") > print("Values of 'p' AND 'q' are as follows:") > p = sympy.randprime(2, 100) #Input Prime Number > print ("p = ", p) > q = sympy.randprime(2, 100) #Input Prime Number > print ("q = ", q) > s = sympy.randprime(2, 100) #Input Prime Number > print ("s = ", s) > > n = p * q * s > print("") > print ("RSA Modulus,n = ",n) #RSA Modulus > r = (p-1)*(q-1)*(s-1) #Eulers Toitent > e = ZZ.random_element(r) > while gcd(e, r) != 1: #GCD > e = ZZ.random_element(r) #e Value Calculation > print("") > print ("Public Key = ", e) > bezout = xgcd(e, r); > d = Integer(mod(bezout[1], r)); #d, Private Key > print("") > print ("d =", d) > print("") > text = 'samu' > print("") > print ("Message, m = ", text) > m = [ord(c) for c in text] > c = [power_mod(i, e, n) for i in m] #Encryption > print(c) > cipher = [chr(a) for a in c] > print ("Ciphertext, cipher =", cipher) > > print('') > ''' > > cipher = input("Enter Cipher text to be decrypted") #cipher input > print('Cipher text to be decrypted :', cipher) ''' > c = [ord(a) for a in cipher] #conversion of cipher text to the list of > ascii values c > > print('c =',c) > > d = [power_mod(j, d, n) for j in c] #Decryption > print('d =',d) > > characters = [chr(ascii) for ascii in d] > print("") > print ("Decrypted text, d = ", ''.join(characters)) > print("") > print ("Plaintext/ Message, m = ", text) > print ("Decrypted Message, d = ", ''.join(characters)) > if(text == ''.join(characters)): > print ("Thus we encrypted and decrypted text using RSA algorithm") > else: > print("Not sucessfull") > > > end_time = datetime.now() > print('Time taken for execution of the program: {} '.format(end_time - > start_time)) > > # code ends > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/42553a1e-7e98-4ab2-8c1a-6eb80ff1d8c6n%40googlegroups.com.