當前位置:首頁 » 操作系統 » c演演算法

c演演算法

發布時間: 2024-10-09 03:53:10

❶ 數學密碼有哪些

軍事學概述、射擊學、彈道學、內彈道學、外彈道學、中間彈道學、終點彈道學、導彈彈道學、軍事地理學、軍事地形學、軍事工程學、軍事氣象學、軍事醫學、軍事運籌學、戰役學、密碼學、化學戰 密碼學(Cryptology)一字源自希臘文"krypto's"及"logos"兩字,直譯即為"隱藏"及"訊息"之意。而其使用, 可以追溯到大約四千年前。公元二千年,埃及人就將祭文刻在墓碑上。之後人們都是以書寫在紙張上的方式, 用來傳秘密訊息。在二次大戰中,密碼更是扮演一個舉足輕重的角色,許多人認為同盟國之所以能打贏這場 戰爭完全歸功於二次大戰時所發明的破譯密文數位式計算機破解德日密碼。西元1949年,Shannon提出第一篇 討論密碼系統通訊理論之論文,近代密碼學可說是濫觴於斯。直至西元1975年,Diffie與Hellman提出公開金 匙密碼系統之觀念,近代密碼學之研究方向,正式脫離秘密金匙密碼系統之窠臼,蓬勃發展,至今已近二十年。 發展至今,已有二大類的密碼系統。第一類為對稱金鑰(Symmetric Key)密碼系統,第二類為非對稱金鑰(Public Key) 密碼系統。 首先密碼學是由萬維網的茄敬嬉皮士所研究,而且涉及鑰匙傳送問題。60年代�6�8請保安傳送鑰匙;70年初,發 現這個不是好辨法,費時浪費時間。 1965年,美國史丹福大學電機工程系--默克爾、迪菲、赫爾曼等三人研究密碼學可惜並未有所發現。 另外在英國通訊電子保安組(CESG)秘密機構的切爾納姆發現了還原密碼式,但是由於屬於秘密機構,所以 不能公開。直到1977年麻省理工研究生--里夫斯,阿德曼發現和切爾曼差不多的式。他們成立RSA Security Company (RSA是他們名字的字頭)現時值25億美元,在傳送信用卡時起了很大作用。RSA已安裝了5億套產品在 IE , Netscape下的小鎖就是RSA的產品。數學掛銷第一個發現不是美國,但�是第一個公開。數學掛鎖上鎖易, 還原難,所以受廣泛使用,亦即是信息編碼保密。 數學掛鎖泛例: 數學掛鎖用單向式:N=pxq <--例子 N(合成數)=兩個質數的乘 11x17=187=N 還原單向式公式:C=Me(mod N) *e是M的次數,因為在記事本中打不到* M*13*(mod 187)=C *13是M的次數* c=165 x=88 (password kiss) 88*13*(mod 187)=165 *13是88的次數* modN=M C*1/e*mod(p-1)(q-1)=88 C=165 p=11 q=17 answer:mod 187=88 一般有兩種類型密碼學被使用: symmetric key (對稱性的鑰匙) 和 public key (公開的鑰匙)(也叫 非對稱的鑰匙) 密碼學. 舉一個簡單的對稱的鑰匙密碼學的範例, 假想從朋友處收到一個通知. 你和你的朋友同意來加解密你們的訊息, 你們將使用下列演演算法: 每個字母將會上移三個字母, 例如 A=C, B=D, 而 Y 和 Z 轉一圈回到 A 和 B, 這個方程式 ("每個字母上移三個字母") 就是送信者使用來加密訊息的鑰匙; 而收信者使用相同的鑰匙來解密 . 任何人如果沒有鑰匙就不能夠讀此訊息. 因為相同的鑰匙視同實用來加密及解密訊息, 這個方法是一個 對稱鑰匙 的演演算法. 這類的密碼學及是我們所知的秘密鑰匙密碼學,因為此鑰匙 必須被秘密保存於送信者和收信者,以保護資料的完整性. 非對稱性密碼學 非對稱性或公開的鑰匙 密碼學, 不同於對稱性的 密碼學, 在於其加密鑰匙只適用於單一使用者. 鑰匙被分為兩個部分: 一把私有的鑰雹纖匙, 僅有使用者才擁有. 一把公開的鑰匙, 可公開發行配送,只要有要求即取得. 每支鑰匙產生一個被使用來改變內文的功能. 私有的鑰匙 產生一個 私有改變內文的功能,而公開的鑰匙 產生一個 公開改變內文的功能. 這些功能是反向相關的, 例如., 如果一個功能是用來加密訊息,另外一個功能則被用來解密訊息.不論此改變內文功能的次序為何皆不重要. 公開的源納仿鑰匙系統的優勢是兩個使用者能夠安全的溝通而不需交換秘密鑰匙. 例如, 假設一個送信者需要傳送一個信息給一個收信者, 而信息的秘密性是必要的, 送信者以收信者的公開的鑰匙來加密,而僅有收信者的私有的鑰匙能夠對此信息解密. 公開的鑰匙密碼學是非常適合於提供認證,完整和不能否認的服務, 所有的這些服務及是我們所知的數位簽名. 相關網站 密碼學二 基本原理的密碼法,可以分成兩種:移位法(transposition)和替代法(substitution), 移位法就是將訊息裡面的文字,根據一定的規則改變順序,這種方法,在文字數量很大的時候, 便可以顯示出他的優勢,例如"Hello World"才不過10個字母便可以有11708340914350080000種排列的方式。 另外一種方法,就是替代法,還可以分成兩種,一種是單字替代,一種是字母替代,兩種的原理是一樣的, 就是利用文字相對順序的對應,來改變原來的文章,以英文為例,我們可以把英文字母往後移動三個位置,即: a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 泛例: Hello World How are you khoor zruog krz h brx 這句話就變的難以辨認了,而且如果發信人收信人有協定好的話,那還可以把文字之間的空白刪除,反正翻譯回來的時候, 可以靠文句的意思,來推測斷句斷字的時機。 而單字替代,則是以每個單字,都去換成另外一個相對應的單字,這樣來改寫原文, 變成一個無法辨認其意義的加密文件。 移位法當然不只限於一種,光是英文字母不考慮大小寫,就可以有25種互異的方法,每種密碼法,都可視為一種加密法, 我們稱為演演算法(algorithm),和一把鑰匙(KEY)的組合結果。鑰匙是用來指定加密程序的演算細節。以移位法為例, 演演算法是只以密碼字母集里的字母,取代明文字母集裡面的字母,鑰匙便是收發信人定義的密碼字母集。 整個密碼學發展的程序,辨識找尋新的演演算法,和保護鑰匙避免被解密者發現的程序,鑰匙在密碼學中非常重要,因為即使演演算法相同或太簡單, 沒有加密的鑰匙的話,我們仍然很難去破解加密的文件。以單純的英文字母,不單純的平移,而用一個字母一個字母互換的話,不考慮大小寫, 就有403291461126605635584000000種不同的鑰匙必須要去測試,才可以得到原來的明文。 密碼學的應用 1. 數位簽章(Digital Signature): 這是以密碼學的方法,根據EDI訊息的內容和發信人的私鑰(Private Key)所產生的電子式簽名。除非擁有該把私鑰,任何人都無法產生該簽名,因此比手寫式的簽名安全許多。 收信人則以發信人的公鑰進行數位簽章的驗證。 2. 數位信封(Digital Envelope): 這是以密碼學的方法,用收信人的公鑰對某些機密資料進行加密,收信人收到後再用自己的私鑰解密而讀取機密資料。除了擁有該私鑰的人之外, 任何人即使拿到該加密過的訊息都無法解密,就好像那些資料是用一個牢固的信封裝好,除了收信人之外,沒有人能拆開該信封。 3. 安全回條: 收信人依據訊息內容計算所得到的回覆資料,再以收信人的私鑰進行數位簽章後送回發信人,一方面確保收信人收到的訊息內容正確無誤, 另一方面也使收信人不能否認已經收到原訊息。 4. 安全認證: 每個人在產生自己的公鑰之後,向某一公信的安全認證中心申請注冊,由認證中心負責簽發憑證(Certificate),以保證個人身份與公鑰的對應性與正確性 量子密碼學(Jennewein et al., Quantum Cryptography with EntangledPhotons, Physical Review Letters, May 15, 2000, Vol 84, Iss 20, pp. 4729-4732) 三個獨立研究機構首次實驗證明利用量子幽靈式的特性來建構密碼之可行性, 這項研究提供未來對付電腦駭客的防犯之道. 在這個最新--也是最安全--的資料加密解密架構(即量子密碼學)中,研究者是採用一對 entangled光子, 而這對粒子即使相隔遠距離的情況下,仍有密切的互動關系. entanglement-based 的量子密碼學具有唯一的, 不可被竊聽的傳輸特性, 如果有偷聽者想竊取資料, 也很容易的可以監測出來. 簡而言之, entanglement process 可以建立完整的, 隨機的 0與 1 序列提供兩端使用者傳輸資料, 如果有駭客從中擷取資料, 那麼這個訊息序列將被改變, 用戶就會發現有竊聽者, 並授權放棄被竊聽的資料. 這種數位隨機序列, 或稱 "金鑰匙", 再和資料進行計算 (如互斥或閘 XOR), 即加密程序, 使得這資料串形成一完全隨機序列, 這方法就是已知的 one-time pad cipher. 同理, 接收端也是靠著金鑰匙來進行解密程序. 在研究中, Los Alamos 研究者模擬一位竊聽者竊取傳輸資料, 成功地被偵測出來, 並授權用戶放棄被竊取的資料. 而在澳洲的研究團隊, 則建立了一公里長的光纖來連接兩個完全獨立的傳輸, 接收站來驗證 entangled 密碼理論, 他們建立了金鑰匙並成功的傳輸 Venus 影像. 同時, 在 University of Geneva 團隊建構超過數公里的光纖, 並使用光子頻率來驗證entangled 密碼理論. 在這些實驗中, 雖然他們的傳輸速率較慢, 但 entanglement-based 密碼理論在未來極有可能超越non-entangled 量子密碼理論, 不僅是傳輸速率, 而且在預防資料被竊取方面, 所需要的額外光子也比較少.

❷ 電腦程式語言都有哪些啊

電腦程式語言都有哪些啊?

常用的列舉:
程式語言一、C語言
程式語言二、java
程式語言三、c++
程式語言四、php
程式語言五、c#

工業程式語言: A+ | Ada | 組合語言| B | Brain *** | C | C++ | C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon | Objective-C| Ocaml | Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# | Visual Basic .NET
指令碼程式語言: ActionScript | JavaScript | JScript | Nuva | PostScript | VBScript | lua
學術程式語言: APL/J | Haskell | Logo | ML | pascal|Prolog | Scheme | SAC
其他程式語言: ALGOL | BASIC| Clipper | Forth | Mola-2/Mola-3 | MUMPS | PL/I | Simula

程式語言都有哪些?

c,c++,c#,java,javascript,jsp,.,,vb...

這個就多了..但是還是說些主流一點的吧....現在最流行的是 JAVA 和 .NET這兩大平台...朝這兩個方向發展有前途.....但下面這幾個也不差..
C/C++ ,SQL SERVER ,HTML,ASP,C#,XML,VB(淘汰).
你想學游戲開發? 用JAVA還可以啊...

程式語言都有哪些種

1.機器語言電子計算機所使用的是由「0」和「1」組成的二進位制數,二進位制是計算機的語言的基礎。計算機發明之初,人們只能降貴紆尊,用計算機的語言去命令計算機干這干那,一句話,就是寫出一串串由「0」和「1」組成的指令序列交由計算機執行,這種語言,就是機器語言。使用機器語言是十分痛苦的,特別是在程式有錯需要修改時,更是如此。而且,由於每台計算機的指令系統往往各不相同,所以,在一台計算機上執行的程式,要想在另一台計算機上執行,必須另程式設計序,造成了重復工作。但由於使用的是針對特定型號計算機的語言,故而運算效率是所有語言中最高的。機器語言,是第一代計算機語言。2.組合語言
為了減輕使用機器語言程式設計的痛苦,人們進行了一種有益的改進:用一些簡潔的英文字母、符號串來替代一個特定的指令的二進位制串,比如,用「ADD」代表加法,「MOV」代表資料傳遞等等,這樣一來,人們很容易讀懂並理解程式在干什麼,糾錯及維護都變得方便了,這種程式設計語言就稱為組合語言,即第二代計算機語言。然而計算機是不認識這些符號的,這就需要一個專門的程式,專門負責將這些符號翻譯成二進位制數的機器語言,這種翻譯程式被稱為匯編程式。組合語言同樣十分依賴於機器硬體,移植性不好,但效率仍十分高,針對計算機特定硬體而編制的組合語言程式,能准確發揮計算機硬體的功能和特長,程式精煉而質量高,所以至今仍是一種常用而強有力的軟體開發工具。
3.高階語言從最初與計算機交流的痛苦經歷中,人們意識到,應該設計一種這樣的語言,這種語言接近於數學語言或人的自然語言,同時又不依賴於計算機硬體,編出的程式能在所有機器上通用。

程式語言現在都有哪些?

機器語言:純粹的機器程式碼
組合語言:8086匯編、Win32匯編、.NET的匯編
高階語言:
Basic、Pascal、Object Pascal、C、C++、C#、Java、ASP、ASP.NET、Perl、PHP、SQL、FoRTRAN 等等
Visual Basic、Visual Basic.NET、Delphi、Visual C++、C++ Builder、C# Builder、Visual Foxpro 等

程式語言都有哪些演演算法

(一)基本演演算法 : 1.列舉 2.搜尋: 深度優先搜尋 廣度優先搜尋 啟發式搜尋 遺傳演演算法 (二)資料結構的演演算法 (三)數論與代數演演算法 (四)計算幾何的演演算法:求凸包 (五)圖論 演演算法: 1.哈夫曼編碼 2.樹的遍歷 3.最短路徑 演演算法 4.最小生成樹 演演算法 5.最小樹形圖 6.網路流 演演算法 7.匹配演演算法 (六)動態規劃 (七)其他: 1.數值分析 2.加密演演算法 3.排序 演演算法 4.檢索演演算法 5.隨機化演演算法
希望採納

如今都有哪些程式語言

常見語言
C#-Basic-Pascal-C語言-C++-Java-AAuto-易語言-SQL-ASP-PHP

熱點內容
sqlrownum 發布:2024-10-09 06:28:53 瀏覽:381
F模塊驅動器編譯錯誤 發布:2024-10-09 06:06:21 瀏覽:636
腳本亞索集錦 發布:2024-10-09 05:53:30 瀏覽:877
安卓手機格式化後為什麼打不開 發布:2024-10-09 05:52:58 瀏覽:511
雲伺服器可以超級計算機嗎 發布:2024-10-09 05:51:33 瀏覽:17
php基本語法手冊 發布:2024-10-09 05:34:04 瀏覽:819
shell腳本累加 發布:2024-10-09 05:33:41 瀏覽:842
阿里雲怎麼領伺服器 發布:2024-10-09 05:17:53 瀏覽:819
c語言可逆素數 發布:2024-10-09 05:13:44 瀏覽:925
班級采訪問題 發布:2024-10-09 04:45:44 瀏覽:499