A,B 小姐的安全期

– A,B 小姐的安全期 –

    HEY, guys, 有關數、數論、對數問題、離散對數等,是否可了解呀。啊上次的,跟國中數學有關的概念,可以作為一些安全上的應用的觀念。A與B之間的默契居然可以產生出共同金鑰!我的書裡是科普的觀念,一般的小學生、中學生也可以看得懂歐。上次提到的「對數」,可以玩出一些安全的通訊,小兵立大功!離散對數為何加上「離散」2個字?先說個概念,對數和指數是互相切換的概念,互相切來切去,是非常規律的切換。但是,例如:987這個數字,取log會等於多少?會非常的混亂,不是3,而2又太少,所以會在2和3之間。因此國中數學課本有所謂的「對數表」。而離散對數的意思,就是「強迫」一定要變成整數!在安全的領域,加密就是把東西變成看不懂,解密就是把東西變成看得懂的,不能似懂非懂,不確定。所以既然加密了,解密的答案就是要確定的。因此不能出現2點多這樣的答案,必須要是2。2就是2,很確定的答案,才叫做真的有解密!我們常講說「牽拖」,不乾脆嘛!不能含糊,不清不楚,根本就是沒有解開。所以強迫他一定要變成整數,而離散的概念,就是數字本身一定要是完整的。例如,訊號分為2種,類比訊號、數位訊號,類比訊號就是一種連續的波,數位訊號就是很明確,假設是二元的世界,不是0就是1,非常明確,不會藕斷絲連的呀。很直觀就是一個完整的值,所以強迫答案的數字一定要是一個完整、確定的答案,就是離散的概念!
    啊, 這mod運算,例如3的3次方,mod 7,答案多少?就是27除以7取餘數。又例如5的3次方, mod 11,是多少?125除以11,餘數4,所以答案是4。今天不論mod多少,答案不是0,就是比mod的數小,因為取餘數嘛。假設mod p,p是100,答案就會落在0到p-1, 就是0到99之間。如果p是很大的數,就會落在很大的空間範圍,就會很難猜的,用窮舉法時,把數字拉大時,就會猜的很累,可能要花很多年,都老了。
就像是追一個女生,要追20年,還要追嗎?
    換一個說不定更美麗、更聰明,哈!
    如果今天2個女生,寫個題目要你去解謎底,可是A的問題要解20年,B的問題要解20天,假設2個女生都漂亮,你覺得哪個較有勝算?
當然是B。
    哈哈, 而且代表你和她的頻率比較近。她能出謎題代表她聰明,你能解開代表你有智慧,而且20天而已,她會等的!所以我們在社交過程當中,頻率比較近,話比較多,東聊西聊,在一起的機率比較高。如果話不投機半句多,在一起也痛苦。所以mod p 的p如果長度比較短,比較容易解。我那本科普書,也有提到mod的概念歐。
    上次我提到在離散對數,那共同的key。在推算的過程當中,如果本身很容易猜,就會有點可惜,如果不容易猜到,就完美了。所以 p必須拉得比較長。在資訊安全裡,我們所聊到的,較有關的就是對數、離散對數、mod p。所以離散對數的故事裡的確是可以產生共同的key 歐,又可讓 key產生確定性,當key的長度比較長的時候,又可以保障某些程度的安全性呀。
    那你們是否聽過離散對數的安全度問題?或者因數分解問題造成的安全度問題?
    有耶,之前有聊到質數問題。
    若不是質數,只要是因數, 就可以因數分解,可拆得出來,但是如果因數是質數,質數愈大,越不容易拆出,會較安全。質因數分解問題。很有趣的,我們先單純化,今天給你一個數,若比較小,作因數分解會很容易,例如21,就是3和7。45的話,可能比較多組,但也是可以答得很快。但如果今天數字較大,就會更耗時。今天如果是數字很大,而因數又只有2個,P和Q,猜中P,就會答出Q。另外,如果N很大,把他切一半,例如2的10000次方,切一半,就是2的9999次方,其實還是很大。就像一樣東西10000元,老闆算你9999元,有誠意嗎?好像是沒誠意,可是人的心理很有趣,有時候是心情上的感覺,所以會覺得比較便宜。99元和100元只差1元,但1個是2位數, 1個是3位數,心情上的感覺比較好,就容易賣出去。舉例吧,買賣東西,若把訂價少些, 又捉住數字的迷思,東西就順利賣出去了,這就是買家的心情上的問題,哈!
回到2的9999次方,雖然已經砍半了,也是很難拆。跟2的10000次方幾乎一樣難拆。所以P和Q都是非常難拆的。所以剛才提到的第2種安全問題,就是建構在質因數的分解上面。例如東西有料、好吃,價格開高一點,消費者或還會接受,所以數字大,不好拆,但是相對安全,人們會願意接受他,不過加密過程安全,解密過程也不能永遠都解不出來,否則就沒有意義了。就像是電腦有病毒,大家都不用電腦,安不安全?安全啊!這叫做打臉。你說呢?
    日本有一個資訊大臣,也不會用電腦, 就被網友戲稱為「安全資訊大臣」!
    哈!所以安全的存在,並非是不用他,而是要將風險降到最低。
今天所談的加解密系統,第1個是離散對數問題,第2個是因數分解問題。概念上就是,給你一個數字,是2個數字相乘,要去猜中某1個很難,但如果猜中第1個,也就知道第2個。如果2個互相是平均的,會更有安全性。另外還有一個概念,如果連自己也解不出來,這個系統就沒有意義了。所以一個系統,有key的人,眨個眼就解開了,沒有key的人,一個一個猜很難猜,這樣的系統就成功了!這就是因數分解的設計問題。就大原則而言,加解密系統的問題,對於想要破解的人,只要是需要一個一個猜算的,就會踢到鐵板!
    來收個尾吧,第一個話題是對數、離散對數,mod只要p愈大,就會增加他的安全性,要從0到p -1,窮舉法會花很多時間。第2個話題是質因數分解,N=P×Q,如果N很大,P和Q都是質數,要猜出P和Q會很難。所以2個話題共同點是,如果你沒有準確的答案的話,就無法自行正確解密,因為你要花很多時間進行窮舉法的破解,會較耗時,就可以提高系統的安全度。
    不錯啊,你們有捉到我的精髓,幾乎是9成5, 9成9,還要配合今天提到的一些生活上的例子歐,來, 回顧一下A 跟 B, 兩個美女, 你們要那一個呢?
    啊, 那個20年和20天的選擇,其實2個都可以選啊,先選擇20天,20年後再換人!
    哈, 這位仁兄,cool guy,聰明!果然是男人啊!
    呵呵,說不定20年後比較好!啊,所以老師您是這樣的人嗎?
    哈哈哈, 是是是,哪個男人不會想有好的想像空間。
    可是20年後變數很大!那要看啊,說不定20年後A有女兒也可以考慮啊,…
    眼光放遠一點嘛,男生是愈老愈值錢啊!那時候的你跟現在又不一樣了,更有智慧,有更好的職務,更吸引人!所以跟B女結婚,20年以後再跟A的女兒結婚,哈哈!

| English