【密碼學原理與實踐】驗證本原元元素
阿新 • • 發佈:2021-01-13
技術標籤:密碼學原理與實踐
證明7是素數7919的一個本元元素。
這裡需要用到素數分解。所以先給出分解的程式碼
# -*- coding: utf-8 -*-
"""
Created on Tue Jan 12 15:05:08 2021
@author: sangliping
"""
#素數只能被1和它本身整除,不能再被其它數整除,能被2整除的都不是素數
try:
n = 0
while True:
n = int(input("n="))
if n >= 1:
break
except (ValueError):
print("請輸入整數")
i = 2
frist = True
#定義為True
while n>=i:
while n%i==0:
if frist==True:
#當第一次檢測,為True時,
print("=",i,end="")
#列印=號
frist = False
#這時將frist置為False,否則一直是True,因為上面初始值是True
else:
print("*",i,end="")
#列印*號
n=n//i
i += 1
測試輸出:
n=7918
= 2* 37* 107
所以上面的題就變的比較簡單啦
7918 =2 37107
且77918/2 mod 7919=7918 ≠1
同理 77918/37 mod 7919=755≠1
77918/107 mod 7919=5549≠1
所以Ord7919(7)=7918 即7位模7919的本原元