(Translated by https://www.hiragana.jp/)
GitHub - QueenieCplusplus/Cipher_Crypto: 加密原理與技術分析
Skip to content

QueenieCplusplus/Cipher_Crypto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

Cipher_Crypto

One Key is kept private by the entity, and the other is made public available.

ecc_encipherment

Crypto = Cipher

        Hashing ざつみなと(ずい)        Symmetrics 對稱たいしょう               Asymmetrics 非對稱ひたいしょう
                                 (Private Key)                 (Public Key)
           /   \               
          /     \                       /   \                         /   \
         /       \                     /     \                       /     \
        SHA        MD5                /       \                     /       \
                            Block かたまり鏈    Stream くしりゅう           RSA         Diffle-Hellman
                                / | \           | \                 (可用かよう於不安全あんぜんてき密通みっつうどうてききん建立こんりゅう演算えんざんほう)
                               /  |  \          |  \
                            DES AES BlowFish  RC4 TKIP

Encryption = Encipherment

  • Hash: ざつみなと提供ていきょう checksum ,ため訊息摘要てきようゆかり變動へんどうちょう訊息さんせい摘要てきよう訊息簡短かんたん摘要てきよう訊息一起送給接收者。

  • Asym: 公開こうかいみつきん鑰,ようゆう 2 きん鑰 public key & private key,,傳送でんそうしゃ使用しよう公開こうかいきん鑰加みつぶんけん傳送でんそう接收せっしゅうしゃ接收せっしゅうしゃのり使用しようわたしみつきん鑰解ひらきみつぶんけん

  • Sym: 秘密ひみつきん鑰,はた訊息安全あんぜん兩個りゃんこ實體じったいあいだ (傳送でんそうしゃあずか接收せっしゅうしゃ) 往返。

Status Quo in case using Security Schematics:

  1. あみ要求ようきゅう使用しようしゃとうにゅう系統けいとう提供ていきょう身分みぶん證明しょうめい。(Auth & Exchange Authentication)

  2. 使用しようしゃとうにゅう系統けいとう狀態じょうたいざいすうふんかね內,伺服強迫きょうはく使用しようしゃとう。(setTimeout to avoid Middleman)

  3. ぼう機構きこう拒絕きょぜつ透過とうか電子でんし郵件よせおく機密きみつせい訊予使用しようしゃ要求ようきゅう使用しようしゃ提供ていきょう身分みぶん證明しょうめい。(Auth & Exchange Authentication)

  4. 銀行ぎんこう需要じゅようきゃくてき簽章,ぽうざい提供ていきょうひさげ服務ふくむ。(Digital Signature)

-----------------------------------------------------

Catalog

------------------------------------------------------

  • Secuity Attacks

  • Symmetrics Encryption Algorithm

  • Encryption Arithmetics : Algebra

  • Symmetrics Encryption & Decryption

  • Traditonal Encryption & Decryption

  • Modern Encryption & Decryption

  • Symmetrics Encryption Algorithm for Stream & Block

  • Asymmetric Encryption Arithmetics : Function for congruence

  • Asymmetrics Encryption & Decryption(RSA, ECC)

  • Digital Signature for Integrity (RSA, ECC)

  • Hashing Algorithm in Exchange Authentication (omit)

-----------------------------------------------------

ITU-T

https://www.itu.int/en/ITU-T/Pages/default.aspx

-----------------------------------------------------

Secuity Attacks

-----------------------------------------------------

Security Attacks

                    Passive                              Active

                 (middle man)  

                   snooping             modification                         DDoS   
                   throughput           masquerading
                                        replay
                                        repudiation

              Confidentiality           Integrity                        Availability 
                   機密きみつ                    かんせい                               可用かよう

              (1) 防衛ぼうえい惡意あくい行為こうい      (1) 系統けいとう中斷ちゅうだん影響えいきょうかんせいせい                もうかそん訊的地方ちほうのうゆずる授權しゃそん
              (2) かくれぞう敏感びんかんせい訊    (2) 經常けいじょう需要じゅようさらどう且須けい授權てき訊


              Authentication                                               
                 身分みぶん確認かくにん            資料しりょうかんせいのう防止ぼうし遭竄あらためそもそもある是重これしげおく          攸關そんひかえせい由來ゆらいげん證明しょうめいあずか傳送でんそう證明しょうめいしょう不可ふか否認ひにんせい


                  Encrypt                Digital Certificate                    ACL                    

Security Mechanism

|----- Encrpt
|-------------Integrity
|----------------------- Digital Signature
|------------------------------------------- Authentication Exchange
|----------------------------------------------------------------------Thoughput Monitor 
|-----------------------------------------------------------------------------------Router Control
|------------------------------------------------------------------------------------------------ Notarization
|-------------------------------------------------------------------------------------------------------------- ACL

-------------------------------------------------------

Symmetrics Encryption Algorithm

-------------------------------------------------------

modular arithmetics

                           @param(a, r)
                           a = q * n + r 

                                 |
                                 |
                                 V

                           @mod is modulo operator
                           @n is modulus
                           @r is residue
                           a mod n = r or a % n = r 

                           @set og least residues modulo n
                           Z = { }

congruence どう

It means equality in Cipher.

                           2 mod 10 = 2
                           12 mod 10 = 2
                           22 mod 2 = 2

residue class

                            x = a (mod n)

                            for n in range(0, 3):
                                [0] = { xSetmodN }
                                [1] = { xSetmodN }
                                [2] = { xSetmodN }

apply field of modulo arithmetics

生活せいかつちゅうかい使用しようすう運算うんざんれい如 12 てんよし 0 がえだいだい循環じゅんかんゆかり am 轉成てんせい pm。

Matrix & Linear Algebra

  • row matrix, くだりのりじん

                  瘦長てきのりじん
    
  • col matrix, れつのりじん

                  よこむこうてきのりじん
    
  • square matrix, ほうのりじん

                  方形ほうけいてきのりじん使用しよう行列ぎょうれつしき det(A), det そく determinant
    
  • residue matrix, すうのりじん

                   整數せいすうのりじんかえ運行うんこういちかたぎすう運算うんざん
    

---------------------------------------------------------

Encryption Arithmetics : Algebra

---------------------------------------------------------

Algebra Stucture

                            G                                       R                        F
                          Group                                    Ring                     Field 
                           ぐん                                       たまき                       たい
                  /    |    |    |    \                             |                        ||
                 /     |    |    |     \                      R=<{}, . , 2nd ops>           a Ring without the ability of existence of inverse   
                /      |    |    |      \                     the 2nd ops matches the ability of distributivity
            commutative|    |    |       existence of inverse
                    closure |   existence of id
                        associative
  • commutative, 交換こうかんせい

  • closue, 分配ぶんぱいせい

  • associative, 結合けつごうせい

  • id, 存在そんざい單位たんい元素げんそ

  • inverse, 存在そんざいはん元素げんそ

  • disbutivity, 分配ぶんぱいせい

  • {}, a Group

  • . , the operator

  • 2nd ops

-----------------------------------------------------------

Symmetrics Encryption & Decryption

-----------------------------------------------------------

UML

          sender                                       receiver
        plaintext      -----------------------------   plaintext    
        (Encrpto)             secure tunnel            (Decrpto)  
       encrpted file   -----------------------------  encrpted file

Kerckoff's Principle

根據こんきょ原則げんそく,須假設かせつかいみつある攔截みつぶんてきてき人知じんちどうかいみつ演算えんざんほうみつ鑰為唯一ゆいいつ抵抗ていこうりょく於金鑰範圍はんい key domain 常廣つねひろ,猜測きん鑰相とう困難こんなん所以ゆえん須將演算えんざんほうかくれぞうおこりらい

cryptanalysis, やぶみつ分析ぶんせき科學かがく也是藝術げいじゅつ:

                                           Analysis Atack 
            Brute-force Attack(exhausive-key-search), statistical attack, pattern attack
                                                   |
                             -------------------------------------------
                            |              |             |              |
                    ciphertext-only        |             |              |
                            |       known-plaintext      |              |
                            |              |      chosen-plaintext      | 
                            v              |                      chosen-ciphertext
                      さいつね發生はっせいただしさい難破なんぱかい     |                       |
                                           V                       |
                                    やめ明文あきふみただしさい容易ようい執行しっこうてき攻擊こうげき       |
                                    發送はっそうしゃ傳送でんそうみつぶんけんまた傳送でんそう明文めいぶん   |
                                    攻擊こうげきしゃ方便ほうべんあきらりょうぶんけん做破かい分析ぶんせき   |
                                                                  |
                                                                  v
                                                              攻擊こうげきしゃ選擇せんたくあきら/みつぶんたい

-------------------------------------------------------

Traditonal Encryption & Decryption

--------------------------------------------------------

  • substitution cipher, だいみつほう

    用字ようじははだいいちてきみつほう傳統でんとうじょうだいみつほうゆうたん字母じぼ以及字母じぼてき選擇せんたく

    たん字母じぼ >

    • 加法かほう

    • 乘法じょうほう

    • 仿射

    字母じぼ >

    • 自動じどうきん

    • playfair

    • vigenere

    • hill

    • たんつぎみつ碼本

    • 迴轉みつ

    • 迷團

  • transposition cipher, かわくらいみつほう

    じゅうしんやすはい符號ふごう順序じゅんじょてきみつほう目前もくぜんてき選擇せんたくゆう: (1)かね鑰的かわくらいみつ、(2)有金ありかね鑰的かわくらいみつ、(3)そうかわくらいみつ

------------------------------------------------------

Modern Encryption & Decryption

------------------------------------------------------

傳統でんとうてきみつ基礎きそもと char しるべむこう,而現だいみつ技術ぎじゅつそく以位もと bit 作為さくいしるべむこう。 如此いちらい便びん僅止於家みつぶん檔,またみつ檔或おん訊抑ある訊等資料しりょう ! はた如上じょじょう類型るいけいてき資料しりょう轉換てんかんなりため一連いちれんくしもと Bit -> Byte -> Buffer -> Streaming,最後さいご變成へんせいみつてきくしりゅう現代げんだい很常てきみつ行為こうい

char -> bit てんがたてき優勢ゆうせい使つかいとく文字もじもとがえだいまいいちもとかい變成へんせい 8 or 16 bits だいのり符號ふごう數量すうりょう變成へんせい 8 or 16 ばい符號ふごうてきりょう增加ぞうか安全あんぜんせい增加ぞうか

-------------------------------------------------------

Symmetrics Encryption Algorithm for Stream & Block

-------------------------------------------------------

modern Stream Cipher (RC4)

                    くしりゅう一次以一字元或是一位元對其串流加密,有明ありあけぶんくしりゅうP (pipeline)、みつぶんくしりゅうC (ciphered stream)、きむ鑰串りゅうK (key)。
                    現在げんざいくしりゅうみつほうちゅう明文あきふみくしりゅうちゅうてきまい r もとぐみ使用しようきん鑰串りゅうちゅうてきいち r もとくみ進行しんこうみつ,以便さんせいみつぶんくしりゅうちゅう相對そうたいおうてき r もとぐみ。

                                      kn                            kn
                                      .                             .
                                      .                             .
                                      .                             .
                                      k1                            k1

                    pn...p1  --->    Encrpt   --- cn...c1 -- >    Decrpt   --->  pn...p1

modern Block Cipher (DES/ AES)

                    かいいち n もとてき明文めいぶんかたまりあるかいみついち n もとてきみつぶんかたまり
                    倘若訊息しょう於 n もと須加すかいれはまふさがもと使つかい其成ため n もとかたまり;
                    趟若訊息だい於 n もとのり分割ぶんかつなりすう n もとかたまり一般いっぱん n = 64 or 128 or 256 or 512。

                            Pln int ext    ----- >  Enc rpt fil 

                    n もと明文めいぶん   --- K くらい元金がんきん鑰加ひそか --->   n もとみつぶん --- K くらい元金がんきん鑰解ひそか ---> 明文あきふみ

Combination of Stream of Blocks

明文めいぶんかたまり獨立どくりつみつてきただし利用りよう key くしりゅうしょうかたまりかずかたまりみつなりためせい訊息。 就宏かん角度かくど而言,せいじょう訊息くしりゅうみつただし就細ほろ角度かくどはんのりたん一區塊使用區塊加密。

------------------------------------------------------------

Asymmetric Encryption Arithmetics : Function for Residues

------------------------------------------------------------

  • Discrete Math

離散りさん數學すうがくそく連續れんぞくせい數學すうがく通常つうじょう討論とうろん整數せいすう討論とうろん浮點すう相對そうたい微積分びせきぶん而言,微積分びせきぶん連續れんぞくせい且可ほろ離散りさん數學すうがく討論とうろんてき對象たいしょう包含ほうがん:

    0 or 1, bool

    <> or [], set or arraylist

    Graphics ようゆう較為れいてき結構けっこう以舉てきれいれい如 FB こうとも關係かんけい

    Algebra ようゆうゆう系統けいとうてき結構けっこう

連續れんぞくせいてきすう分析ぶんせきある計算けいさん算出さんしゅつ可能かのうてき排列はいれつ組合くみあい應用おうよう範疇はんちゅう包含ほうがん:

    組合くみあい
    集合しゅうごう
    
    もう流量りゅうりょう
    遞迴 (計算けいさん執行しっこう多久たく)
  • Galois Field = Finit Field

有限ゆうげんたいあずか RSA ゆうせき包含ほうがん有限ゆうげん元素げんそてきからだあずか其他 field いちよう有限ゆうげんたい進行しんこう加減乘除かげんじょうじょ運算うんざんゆう定義ていぎ滿足まんぞく特定とくてい規則きそくてき集合しゅうごうさいつね應用おうようざい p ためしつすう整數せいすうたい p

+ | 0 1        
--+----        
0 | 0 1        
1 | 1 0


+ | 0 1 A B    
--+--------       
0 | 0 1 A B       
1 | 1 0 B A      
A | A B 0 1      
B | B A 1 0
  • Prime Number

しつすうゆびじょりょう 1 のう其他自然しぜんすう整除せいじょてきすうしつすうてき相反あいはん合成ごうせいすうおうもとさととく發現はつげんりょう無限むげんしつすう存在そんざいてき定理ていり

-----------------------------------------------------------

Asymmetrics Encryption & Decryption

-----------------------------------------------------------

  • RSA

rsa

    RSA_keys_generator(){

        p is prime number
        q is prime number
        p != q

        n <- p * q

        Φふぁい(n) <- (p -1) * (q - 1)

        e is in range that 1 < e < Φふぁい(n)

        d <- e^1 mod Φふぁい(n) # Φふぁい ?
        Pub_key <- (e, n) 
        Priv_key <- d
        return Pub_key, Priv_key

    }

  • Elliptic Curve Crypto, 橢圓だえん曲線きょくせん

相對そうたい於 RSA 這樣ゆう代價だいか(ながたびちょう)てききん鑰密碼系統けいとうがえだい方案ほうあんそくため橢圓だえん曲線きょくせん

p is modulo

(x, y) is the point on the curve

    ECC_points_generator(p, x, y){

        q <- 0
        while(q<p){

            w <---(q*q*q + x*q +y) mod p
            if(w is a perfect squre in zigma_p) then output (q, sqrt(w)) (q, - sqrt(w))
            q <- q +1 
        }

    }

  • Rabin

もと計算けいさんあいすう平方根へいほうこん困難こんなんせい問題もんだいてきおおやけ鑰密碼演算法さんぽう

(omit)


  • ElGamal

diff-hellman てき非對稱ひたいしょう版本はんぽん,ElGamal 定義ていぎ在任ざいにんなん循環じゅんかんぐん G うえ。它的安全あんぜんせいけつ於 G うえてき離散りさん對數たいすう難題なんだい

(omit)

------------------------------------------------------

Digital Signature

Definition

すう簽章てきかいみつ演算えんざんほう使用しよう RSA そもそもある ECC,しか而公わたし鑰的腳色ざいすう簽章與一よいち般加かいみつ ぶんけんてき腳色相反あいはんざいすう簽章實務じつむちゅうわたし鑰是傳送でんそうしゃてき,而非接收せっしゅうしゃてき傳送でんそうしゃ使用しよう自己じこてきわたし鑰簽しょぶんけん, 而接收せっしゅうしゃ使用しよう傳送でんそうしゃてきおおやけ鑰驗證文しょうもんけん Authentication,Private Key ざい此好 Signature 正本しょうほん, 而 Public Key こう Signature 副本ふくほん

UML

(to be continued...)

------------------------------------------------------

About

みつ原理げんりあずか技術ぎじゅつ分析ぶんせき

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published