当前位置:首页 » 操作系统 » 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

热点内容
linux是实时系统吗 发布:2024-11-24 07:23:17 浏览:142
java数据挖掘算法 发布:2024-11-24 07:18:59 浏览:853
我的世界服务器怎么重开指令 发布:2024-11-24 07:14:13 浏览:155
python删除dataframe 发布:2024-11-24 07:05:38 浏览:734
安卓机蓝牙怎么传东西 发布:2024-11-24 06:58:34 浏览:108
android叠效果 发布:2024-11-24 06:58:33 浏览:991
富士通电脑服务器设置u盘启动 发布:2024-11-24 06:56:21 浏览:716
delphipython 发布:2024-11-24 06:51:24 浏览:866
安卓手机如何添加文字 发布:2024-11-24 06:50:54 浏览:567
小米存储位置设置 发布:2024-11-24 06:45:10 浏览:207