个人总结的找工作至少要了解(必备)的计算机网络和操作系统的知识点,相当精简了,希望能帮助到同样即将参加工作的同学们,大纲参考B站up主不高兴就喝水
文章目录
- 1 OSI网络七层协议、TCP/IP五层模型
- 2 TCP、UDP
- 3 TCP三次握手、四次挥手
- 4 HTTP、HTTPS
- 5 Cookie、Session
- 6 URI和URL
- 7 流量控制和拥塞控制
- -------------------------------------------------------------------
- 1 OSI网络七层协议、TCP/IP五层模型
- 2 TCP、UDP
- 3 TCP三次握手、四次挥手
- 4 HTTP、HTTPS
- 5 Cookie、Session
- 6 URI和URL
- 7 流量控制和拥塞控制
- 🚩补充1:一个主机怎么根据ip找到另一台主机?
- 🚩补充2:对称加密算法、不对称加密算法
1 OSI网络七层协议、TCP/IP五层模型
2 TCP、UDP
3 TCP三次握手、四次挥手
4 HTTP、HTTPS
5 Cookie、Session
6 URI和URL
7 流量控制和拥塞控制
-------------------------------------------------------------------
1 OSI网络七层协议、TCP/IP五层模型
-
物理层:负责光电信号传递方式。
集线器、连线,光纤、双绞线之类的。
-
数据链路层:负责设备之间的数据帧的传输和识别。作用是将网络层交下来的数据封装成帧交给物理层,以及将从物理层接收的帧解析出数据交给网络层。
- 适配器、转发器、集线器、网桥、交换机都被归在链接层。
- 数据在物理层一般叫帧,在网络层叫IP数据报或者包。
-
网络层:负责地址管理和路由选择,向上层提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
- 路由器工作在网络层。
- 网络层传输使用:IP协议
-
传输层:为应用进程之间提供端到端的逻辑通信,负责两台主机之间的数据传输
传输层使用:TCP协议
- 应用层:负责应用程序之间的沟通。
- 网络编程主要针对的就是应用层。
- HTTP属于应用层协议
2 TCP、UDP
- TCP(Transmission Control Protocol,传输控制协议)
- UDP(User Data Protocol,用户数据报协议)
2.1 区别及优缺点
TCP :提供的是面向连接、可靠的字节流服务。即客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。并且提供确认机制、重传机制、拥塞控制机制等功能,保证数据能从一端传到另一端。
- 优点:可靠,稳定
- 缺点
- 慢,效率低:TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间
- 占用系统资源高,易被攻击 :而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。
UDP:是一个简单的无连接、面向数据报的运输层协议。它不提供可靠性,只是把应用程序传给IP层的数据报发送出去,但是不能保证它们能到达目的地。由于UDP在传输数据报前不用再客户和服务器之间建立一个连接,且没有超时重发等机制,所以传输速度很快。
-
优点
- 传输速度快:UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。
- 比TCP稍安全:没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的
-
缺点:不可靠,不稳定。因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。
2.2 什么时候应该使用TCP?
当对网络通讯质量有要求的时候,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。
在日常生活中,常见使用TCP协议的应用如下: 浏览器用的 HTTP、SSH QQ文件传输、FlashFXP用的 FTP、Outlook用的 POP、SMTP Putty用的Telnet、 ………
2.3 什么时候应该使用UDP?
当对网络通讯速度有要求,对质量要求不高的时候
日常生活中,常见使用UDP协议的应用如下: QQ语音 QQ视频 TFTP ……
3 TCP三次握手、四次挥手
3.1 三次握手(数据传输开始前-确认开始)
指建立TCP连接协议时,需要在客户端和服务器之间发送三个包,握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。
客户端开始
第一次握手(开始吗?):客户端发送第一个包
内容:同步序列编号SYN=1、 发送顺序号 seq=X(随机int)
客户端进入SYN_SEND状态,等待服务器确认。
第二次握手(开始吧!):服务器收到后发送第二个包
内容:SYN=1,seq=Y,接收顺序号ACK=X+1(客户端发送序列号+1)
服务器进入SYN_RECV状态。
第三次握手(行!)(ESTABLISHED):客户端收到后,向服务器发送第三个包
内容:ACK = Y+1,seq=X+1
客户端和服务器进入ESTABLISHED建立成功状态,完成三次握手
3.2 四次挥手(数据传输关闭前-确认关闭)
指终止TCP连接协议时,需要在客户端和服务器之间发送四个包
两边都可以主动关闭
第一次挥手(关闭吗?):主动关闭方发送第一个包
- 内容:FIN= 1,seq = X。
第二次挥手(等一下,我还有点东西要发):被动关闭方收到FIN包后发送第二个包
- 内容:seq = Z,ack = X+1。
第三次挥手(发完了,关吧!):被动关闭方再发送第三个包,其中FIN标志位为1,发送顺序号seq为Y,接收顺序号ack为X。
第四次挥手(行!):主动关闭方发送第四个包,其中发送顺序号为X,接收顺序号为Y。至此,完成四次挥手。
3.3 为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?
- 建立连接时,服务端返回第二次握手信息时,接收顺序号
ACK
和同步序列号SYN
可以放在一个报文里来发送。 - 关闭连接时,被动关闭方可能还需要发送一些数据,所以第二次握手信息不会包含同步序列号,待发送完毕后再发送FIN和syn,表示同意现在可以关闭连接了,所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。
发送剩余数据时间:第二次和第三次握手之间
3.4 为什么必须是三次握手,不能用两次握手进行连接?
两次握手容易死锁:客户端一直等服务器ack,服务器一直超时重发。
-
如果服务器 S 的应答分组 ack 在传输中丢失,客户端C将不知道 S 建立什么样的序列号,会认为连接还未建立成功,将忽略 S 发来的任何数据分组,只等待连接确认 ack。
-
而 S 在发出的分组超时后,重复发送同样的分组(超时重发)。这样就形成了死锁。
3.5 为什么需要第三次握手?打断后会发生什么?
-
原因:需要第三次握手是为了防止已失效的请求报文段突然又传送到了服务端而产生连接误判。
假如没有第三次握手,服务端接收到失效的请求报文段就会认为连接已建立,从而进入等待客户端发送数据的状态。但客户端并没有发出请求,所以不会发送数据。于是服务端就会一直处于等待状态,从而浪费资源。
-
后果:一方面,服务器第二次握手后定时等待,超时启动超时重传(重新第二次握手),超过重传次数后一段时间自动关闭TCP链接。另一方面,客户端向并未收到的服务器发送数据的话,则会被回以RST包,且强制关闭TCP链接
1)在第二次握手,服务器端向客户端发送SYN+ACK报文后,就会启动一个定时器,等待客户端返回的ACK报文。
2)如果第三次握手失败的话,服务端收不到客户端的ACK报文,会启动超时重传机制,超过规定时间后重新发起第二次握手,向客户端发送SYN+ACK。重传次数根据/proc/sys/net/ipv4/tcp_synack_retries来指定,默认是5次。
3)如果重传指定次数到了后,仍然未收到ACK应答,那么一段时间后,服务端会自动关闭这个连接。(客户端)但客户端认为这个连接已经建立,如果客户端向服务端写数据,服务端将回应RST包、强制关闭TCP连接,以防止SYN攻击
4 HTTP、HTTPS
- HTTP(HyperText Transfer Protocol:超文本传输协议)
- HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)
4.1 区别
-
HTTPS更安全:HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
-
HTTP 页面响应速度比 HTTPS 快:因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包3
-
连接方式、端口不同:HTTP 80,HTTPS 443。
-
HTTPS 比 HTTP 要更耗费服务器资源:HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议
4.2 HTTP无状态
指的是HTTP 协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。也就是说,打开一个服务器上的网页和上一次打开这个服务器上的网页之间没有任何联系,比如访问一个网站需要反复进行登录操作
针对无状态的一些解决策略:
通过Cookie / Session技术:存储上一次的部分状态
HTTP 持久连接(HTTP keep-alive)方法:只要任意一端没有明确提出断开连接,则保持TCP连接状态,在请求首部字段中的Connection:keep-alive即为表明使用了持久连接
4.3 HTTP长连接 & 短链接(优缺点、适用情况)
HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。
连接的建立依靠“三次握手”,而释放则需要“四次握手”
-
长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。
-
过程:client 向 server 发起连接,server接受client连接,双方建立连接,client与server完成一次请求后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。
-
优点:可以省去较多的TCP建立和关闭的操作,减少浪费,节约时间,适用于频繁请求资源的客户
-
缺点:随着客户端连接越来越多,server会保持过多连接
-
-
短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此方式常用于一点对多点通讯。
-
过程:client向server发起连接请求,server接到请求,然后双方建立连接。client向server发送消息,server回应client,然后一次请求就完成了。这时候双方任意都可以发起close操作,不过一般都是client先发起close操作。上述可知,短连接一般只会在client/server间传递一次请求操作。
-
优点:对于服务器来说管理较为简单,存在的连接都是有用的连接,不需要额外的控制手段
-
缺点:如果客户请求频繁,将在TCP的建立和关闭操作上浪费时间和带宽。
-
-
适用情况
-
长连接:操作频繁、点对点、连接数不能太多的通讯情况,例如数据库的连接
-
短链接:连接数(客户端)多、并发量大、但每个用户无需频繁操作的情况,如web网站
-
🚩补充:http 如何实现的长连接(原理)?
使用长连接的HTTP协议,会在响应头有加入这行代码: Connection:keep-alive
。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。
在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。实现长连接要客户端和服务端都支持长连接。
4.4 HTTP状态码
-
状态码结构:3个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。
-
状态码分类
-
1—:信息,服务器收到请求,需要请求者继续执行操作
-
2—:成功,操作被成功接收并处理,
200 - 请求成功
-
3—:重定向,需要进一步的操作以完成请求,
301 - 资源(网页等)被永久转移到其它URL
-
4—:客户端错误,请求包含语法错误或无法完成请求,
404 - 请求的资源(网页等)不存在
-
5—:服务器错误,服务器在处理请求的过程中发生了错误,
500 - 内部服务器错误
-
4.5 Http 的get、post请求区别
- GET把参数包含在URL中,POST通过request body传递参数
- GET请求只能进行url编码,而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
- GET请求在URL中传送的参数是有长度限制的,而POST没有。
- 参数的数据类型,GET只接受ASCII字符,而POST没有限制
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
- GET产生一个TCP数据包;POST产生两个TCP数据包:对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟
4.6 Http 其他请求方式
4.7 https加密、解密过程?
-
客户端发起HTTPS请求
用户在浏览器里输入一个https网址,然后连接到server的443端口。 -
服务端的配置
采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。这套证书其实就是一对公钥和私钥。如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。 -
传送证书
这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。 -
客户端解析证书
这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值。然后用证书对该随机值进行加密。就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。 -
传送加密信息
这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。 -
服务段解密信息
服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。 -
传输加密后的信息
这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。 -
客户端解密信息
客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。整个过程第三方即使监听到了数据,也束手无策。
5 Cookie、Session
-
Cookie:小信息,常用来记录session id,表示session。也可记录登陆状态等
- Cookie由服务器端生成,发送给浏览器进行保存
- 浏览器会将Cookie保存,下次请求同一网站时就发送该Cookie给服务器,这样服务器可以读取对应的session,了解该用户是否合法用户以及是否需要重新登录等
-
Session:会话。常用来记录用户状态,标识用户
- 仍然由服务器创建,且自己保存。服务器可以为每个用户浏览器创建一个会话对象(session对象),默认情况下一个浏览器独占一个session对象。
- 在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务
-
区别
- Session:由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session。典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。在服务端保存Session的方法很多,内存、数据库、文件都有。集群的时候也要考虑Session的转移,在大型的网站,一般会有专门的Session服务器集群,用来保存用户会话,这个时候 Session 信息都是放在内存的,使用一些缓存服务比如Memcached之类的来放 Session。
- Cookie:思考一下服务端如何识别特定的客户?这个时候Cookie就登场了。每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用 Cookie 来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie 里面记录一个Session ID,以后每次请求把这个会话ID发送到服务器,我就知道你是谁了。
有人问,如果客户端的浏览器禁用了 Cookie 怎么办?一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。 - Cookie其实还可以用在一些方便用户的场景下,设想你某次登陆过一个网站,下次登录的时候不想再次输入账号了,怎么办?这个信息可以写到Cookie里面,访问网站的时候,网站页面的脚本可以读取这个信息,就自动帮你把用户名给填了,能够方便一下用户。这也是Cookie名称的由来,给用户的一点甜头。
- 总结一下:Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。
6 URI和URL
6.1 概念
- URI(Uniform Resource Identifier, 统一资源标志符):主要作用是标识资源,web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行标识的。
- URL(Uniform Resource Locator,统一资源定位符):主要作用是定位资源,是Internet上描述信息资源的字符串,采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
6.2 URI和URL之间的区别
- 只要能唯一标识资源的就是URI,URL在URI的基础上给出了其资源的访问方式(路径)
- URL是一种具体的URI,它是URI的一个子集,它不仅唯一标识资源,而且还提供了定位该资源的信息。
- URI 是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够的信息来定位,是绝对的。
6.3 输入url网址后发生了什么事情
1、浏览器的地址栏输入URL并按下回车。
2、查缓存:浏览器查找当前URL是否存在缓存,并比较缓存是否过期。
3、DNS解析IP:DNS解析URL对应的IP。
4、建立TCP连接:根据IP建立TCP连接(三次握手)。
5、HTTP发起请求。
6、服务器处理请求,浏览器接收HTTP响应。
7、渲染页面,构建DOM树。
8、关闭TCP连接(四次挥手)。
7 流量控制和拥塞控制
7.1 流量控制(发送方发送速率 > 接收方接收速率):接收方控制
端到端,针对的是发送方和接收方速度不匹配的问题,如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。提供一种速度匹配服务遏制发送速率使接收方应用程序的读取速率与之相适应。
TCP的流量控制是利用滑动窗口机制实现的,
主要的方法有:
-
Stop-and-wait 这个也是最简单粗暴的,发一个分组就等对方一个ACK回应然后再发,收不到ACK就不发了
-
滑动窗口:接收方在返回的数据中会包含自己的接收窗口的大小,以控制发送方的数据发送。接收方在一个窗口都满了以后才会发送ACK确认并要求发送下一个窗口。
- Go back N:接收方发送NAK表示接收前N-1个分组失败然后由发送方退回N步继续发送;
- 选择重传:双方都维护窗口,引入序列号,发现超时未收到序列号则由发送方重传。
7.2 拥塞控制:发送方控制
拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。
- 发送方控制拥塞窗口的原则:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减小一些,以减少注入到网络中的分组数。
两种拥塞控制方法:
-
慢开始+拥塞避免:
一开始的慢开始算法的指数增长是很恐怖的,所以为了防止拥塞窗口增长过快需要设置一个门限ssthresh -
如何确定是否拥塞?怎么做?
无论在慢开始阶段还是在拥塞避免阶段,只要发送方没有收到确认,就认为这时候拥塞了。1.就要把慢开始门限设置为此时窗口值的一半
2.然后把拥塞窗口重新设置为1,执行慢开始算法。 -
快重传+快恢复
快重传要求接收方在收到一个失序的报文段后就立即发出重复确认。如果没有快速重传和快速恢复,TCP将会使用定时器来要求传输暂停。在暂停这段时间内,没有新的数据包被发送。所以快速重传和快速恢复旨在快速恢复丢失的数据包。 -
快重传的机制:如图所示,接收方发现M3丢失,则立即发送对M2的重复确认。一旦发送方一连收到三个M2的重复确认就应当立即重传M3,也就是发送方收到第四个对M2的确认时。
-
快恢复算法两个要点:
1.当发送方连续收到三个重复确认时,就把门限减半。
2.考虑到如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。所以此时不执行慢开始算法,而是将拥塞窗口设置为门限的大小,然后执行拥塞避免算法(加法)。
7.3 流量控制和拥塞控制的区别
流量控制是为了预防拥塞。如:在马路上行车,交警跟红绿灯是流量控制,当发生拥塞时,如何进行疏散,是拥塞控制。流量控制指点对点通信量的控制。而拥塞控制是全局性的,涉及到所有的主机和降低网络性能的因素。
🚩补充1:一个主机怎么根据ip找到另一台主机?
ARP广播(查看自己局域网里的小伙伴和其物理地址),没有就把包直接发送给自己的缺省网关,由网关发送给它的上游路由器来进一步处理,层层发(可能会超时),直到有一个路由通过ARP广播看到这个IP,则通过ARP广播询问其物理地址(此时很近了)。可能是直连,可能得通过一次交换机,就可以链接目标主机了
🚩补充2:对称加密算法、不对称加密算法
一、对称加密算法
指加密和解密使用相同密钥的加密算法。对称加密算法用来对敏感数据等信息进行加密,常用的算法包括DES、3DES、AES、DESX、Blowfish、RC4、RC5、RC6。
- DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
- 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
- AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;
二、非对称加密算法
指加密和解密使用不同密钥的加密算法,也称为公私钥加密。假设两个用户要加密交换数据,双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。常见的非对称加密算法:RSA、DSA(数字签名用)、ECC(移动设备用)、Diffie-Hellman、El Gamal
。
- RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
- DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
- ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:
- (1)抗攻击性强。相同的密钥长度,其抗攻击性要强很多倍。
- (2)计算量小,处理速度快。ECC总的速度比RSA、DSA要快得多。
- (3)存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义
- (4)带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。