您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Python密碼學XOR算法編碼流程及乘法密碼實例分析”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Python密碼學XOR算法編碼流程及乘法密碼實例分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
XOR算法的加密和解密轉換ASCII字節格式的純文本,并使用XOR過程將其轉換為指定的字節.它為用戶提供以下優勢 :
快速計算
沒有區別標記左側和右側
易于理解和分析
您可以使用以下代碼執行XOR過程 :
def xor_crypt_string(data, key = 'awesomepassword', encode = False, decode = False): from itertools import izip, cycle import base64 if decode: data = base64.decodestring(data) xored = ''.join(chr(ord(x) ^ ord(y)) for (x,y) in izip(data, cycle(key))) if encode: return base64.encodestring(xored).strip() return xored secret_data = "XOR procedure" print("The cipher text is") print xor_crypt_string(secret_data, encode = True) print("The plain text fetched") print xor_crypt_string(xor_crypt_string(secret_data, encode = True), decode = True)
XOR流程的代碼為您提供以下輸出 :
函數 xor_crypt_string()包括一個參數,用于指定編碼和解碼模式以及字符串值.
基本功能是使用base64模塊進行的,這些模塊遵循XOR過程/操作來加密或解密純文本/密文.
注意 : XOR加密用于加密數據,并且難以通過強力方法破解,即通過生成隨機加密密鑰以匹配正確的密文.
使用凱撒密碼技術時,加密和解密符號涉及使用簡單的加法或減法基本過程將值轉換為數字.
如果使用乘法轉換為密文,它被稱為環繞情況.考慮使用的字母和相關數字如下所示 :
這些數字將用于乘法過程,相關密鑰為7.在這種場景中用于生成乘法密碼的基本公式如下 :
(Alphabet Number * key)mod(total number of alphabets)
通過輸出獲取的數字映射到上面提到的表格和相應的字母作為加密字母.
def unshift(key, ch): offset = ord(ch) - ASC_A return chr(((key[0] * (offset + key[1])) % WIDTH) + ASC_A)
注意 : 乘法密碼的優點是它可以使用非常大的密鑰,如8,953,851.計算機需要相當長的時間才能通過大多數900萬個密鑰進行暴力破解.
讀到這里,這篇“Python密碼學XOR算法編碼流程及乘法密碼實例分析”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。