Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168756
Image: ubuntu2004
def get_code(string): return [ord(string[k]) for k in range(len(string))] get_code(u'薛鹏翔')
[34203, 40527, 32724]
def get_string(n_code): string=u'' for k in range(len(n_code)): string+=unichr(n_code[k]) return string print get_string(get_code(u'薛鹏翔'))
薛鹏翔
R=IntegerModRing(65536) express=u"薛鹏翔" ex_code=get_code(express) if len(ex_code)%2==1: ex_code.append(0) en_key=matrix(R,[[1,2],[3,5]]) de_key=en_key.inverse() ci_code=[] for k in range(0,len(ex_code),2): m=en_key*vector(R,[ex_code[k],ex_code[k+1]]) ci_code.append(int(m[0])) ci_code.append(int(m[1])) ci_code ciphertext=get_string(ci_code) print ciphertext
숹ꡜ翔罼
cip_code=get_code(u'숹ꡜ翔罼') exp_code=[] for k in range(0,len(cip_code),2): m=de_key*vector(R,[cip_code[k],cip_code[k+1]]) exp_code.append(int(m[0])) exp_code.append(int(m[1])) print get_string(exp_code)
薛鹏翔