如何理解本质安全前向安全性

如何理解安全完整性与SIL等级_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
如何理解安全完整性与SIL等级
上传于||文档简介
&&如​何​理​解​安​全​完​整​性​与​S​I​L​等​级
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢君,已阅读到文档的结尾了呢~~
广告剩余8秒
文档加载中
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
具有前向安全性质的秘密共享方案
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口方案具有门限群签名方案的所有性质,可以抵御合谋攻击,并具有前向安全的特性。
But almost all the proposed threshold group signature scheme can not resist the collusive attack.
方案具有门限群签名方案的所有性质,可以抵御合谋攻击,并具有前向安全的特性。
The scheme has all the properties of thresh- old group signature and can resist the collusive attack.
密钥泄露问题对数字签名系统带来的后果是系统的崩溃,具有前向安全特性的数字签名体制就是针对密钥泄露问题提出的。
The valid signer may take the consequences caused by the disclosure of the private signature key, and the loss will be invaluable. To solve this problem, forward secure scheme has been suggested.
本文基于短签名提出一种新的高效的具有前向安全和可公开验证特性的基于身份的代理签密方案。
In this paper, based on short signature, a new efficient identity-based proxy signcryption scheme with forward security and public verifiability is proposed.
非交互式特性通过前向安全实现;
The non-interactive property is obtained by forward-security (a typical key evolving paradigm).
基于短签名提出了一种新的高效的具有前向安全和可公开验证特性的基于身份的代理签密方案。
In this paper, based on short signature, a new efficient identity-based proxy signcryption scheme with forward security and public verifiability is proposed.
同时此协议具有前向安全和后向安全的特性,即在动态组的情况下协议仍是安全的。
And this protocol can achieves the forward security and backward security, when a dynamic group performs it.
更新金钥后必须有一重要特性,即为前向安全。
An important property "forward secure"is needed when changing the secret key.
更新金钥后必须有一重要特性,即为前向安全。
An important property "forward secure"is needed when changing the secret key.
$firstVoiceSent
- 来自原声例句
请问您想要如何调整此模块?
感谢您的反馈,我们会尽快进行适当修改!
请问您想要如何调整此模块?
感谢您的反馈,我们会尽快进行适当修改!深入分析:如何较为透彻的理解线程安全性?
来源:博客园
这一点,跟数据库事务的原子性概念差不多,即一个操作(有可能包含有多个子操作)要么全部执行(生效),要么全部都不执行(都不生效)。 关于原子性,一个非常经典的例子就是银行转账问题:比如A和B同时向C转账10万元。如果转账操作不具有原子性,A在向C转账时,读取了C的余额为20万,然后加上转账的10万,计算出此时应该有30万,但还未来及将30万写回C的账户,此时B的转账请求过来了,B发现C的余额为20万,然后将其加10万并写回。然后A的转账操作技术——将30万写回C的余额。这种情况下C的最终余额为30万,而非预期的40万。 可见性 可见性是指,当多个线程并发访问共享变量时,一个线程共享变量的修改,其它线程能够立即看到。可见性问题是好多个忽略或者理解错误的一点。 CPU从主内存中读数据的效率相对来说不高,现在主流的计算机中,都有几级缓存。每个线程读取共享变量时,都会将该变量加载进其对应CPU的高速缓存里,修改该变量后,CPU会立即更新该缓存,但并不一定会立即将其写回主内存(实际上写回主内存的时间不可预期)。此时其它线程(尤其是不在同一个CPU上执行的线程)访问该变量时,从主内存中读到的就是旧的数据,而非第一个线程更新后的数据。 这一点是操作系统或者说是硬件层面的机制,所以很多应用开发人员经常会忽略。 顺序性 顺序性指的是,程序执行的顺序按照代码的先后顺序执行。 以下面这段代码为例 boolean started = // 语句1 long counter = 0L; // 语句2 counter = 1; // 语句3 started = // 语句4 从代码顺序上看,上面四条语句应该依次执行,但实际上JVM真正在执行这段代码时,并不保证它们一定完全按照此顺序执行。 处理器为了提高程序整体的执行效率,可能会对代码进行优化,其中的一项优化方式就是调整代码顺序,按照更高效的顺序执行代码。 讲到这里,有人要着急了——什么,CPU不按照我的代码顺序执行代码,那怎么保证得到我们想要的效果呢?实际上,大家大可放心,CPU虽然并不保证完全按照代码顺序执行,但它会保证程序最终的执行结果和代码顺序执行时的结果一致。 Java如何解决多线程并发问题 Java如何保证原子性 锁和同步 常用的保证Java操作原子性的工具是锁和同步方法(或者同步代码块)。使用锁,可以保证同一时间只有一个线程能拿到锁,也就保证了只一时间只有一个线程能执行申请锁和释放锁之间的代码。 public void testLock () { lock.lock(); try{ int j = i = j + 1; } finally { lock.unlock(); } } 与锁类似的是同步方法或者同步代码块。使用非静态同步方法时,锁住的是当前实例;使用静态同步方法时,锁住的是该类的Class对象;使用静态代码块时,锁住的是synchronized 关键字后面括号内的对象。下面是同步代码块示例 public void testLock () { synchronized (anyObject){ int j = i = j + 1; } } 无论使用锁还是synchronized,本质都是一样,通过锁来实现资源的排它性,从而实际目标代码段同一时间只会被一个线程执行,进而保证了目标代码段的原子性。这是一种以牺牲性能为代价的方法。 CAS(compare and swap) 基础类型变量自增(i++)是一种常被新手误以为是原子操作而实际不是的操作。Java中提供了对应的原子操作类来实现该操作,并保证原子性,其本质是利用了CPU级别的CAS指令。由于是CPU级别的指令,其开销比需要操作系统参与的锁的开销小。AtomicInteger使用方法如下。 AtomicInteger atomicInteger = new AtomicInteger(); for(int b = 0; b
{ for(int a = 0; a
{ while(isRunning) { someOperation(); } })。start(); } public void stop () { isRunning = } 在这种实现方式下,即使其它线程通过调用stop()方法将isRunning设置为false,循环也不一定会立即结束。可以通过volatile关键字,保证while循环及时得到isRunning最新的状态从而及时停止循环,结束线程。 线程安全十万个为什么 问:平时项目中使用锁和synchronized比较多,而很少使用volatile,难道就没有保证可见性?答:锁和synchronized即可以保证原子性,也可以保证可见性。都是通过保证同一时间只有一个线程执行目标代码段来实现的。 问:既然锁和synchronized即可保证原子性也可保证可见性,为何还需要volatile?答:synchronized和锁需要通过操作系统来仲裁谁获得锁,开销比较高,而volatile开销小很多。因此在只需要保证可见性的条件下,使用volatile的性能要比使用锁和synchronized高得多。 问:既然锁和synchronized可以保证原子性,为什么还需要AtomicInteger这种的类来保证原子操作?答:锁和synchronized需要通过操作系统来仲裁谁获得锁,开销比较高,而AtomicInteger是通过CPU级的CAS操作来保证原子性,开销比较小。所以使用AtomicInteger的目的还是为了提高性能。 问:还有没有别的办法保证线程安全答:有。尽可能避免引起非线程安全的条件——共享变量。如果能从设计上避免共享变量的使用,即可避免非线程安全的发生,也就无须通过锁或者synchronized以及volatile解决原子性、可见性和顺序性的问题。 问:synchronized即可修饰非静态方式,也可修饰静态方法,还可修饰代码块,有何区别 答:synchronized修饰非静态同步方法时,锁住的是当前实例;synchronized修饰静态同步方法时,锁住的是该类的Class对象;synchronized修饰静态代码块时,锁住的是 synchronized 关键字后面括号内的对象。
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动什么是前向安全性
前向安全性(Forward
Security)
前向安全性是计算机安全领域中的一个词汇。前向安全性在数字签名中的应用。指在数字签名被破坏之前的所有签名都是正确的有效的,而不是因为某一刻的破坏使得所有的数字签名都被破坏。
安全废除成员要求有效成员在其被废除前所签的有效签名在其被废除后仍保持安全有效,这种性质称为前向安全性.与前向安全性相对应的是后加入成员的超前签名问题,如某位后来提升的经理出于某种目的签署一个其提升前的文件,这样的签名应是不允许的。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 如何理解线程安全 的文章

 

随机推荐