ring

环签名:打开匿名的大门

▼魔方 西西 提交于 2020-12-06 00:59:32
转自布萌 在区块链和数字货币领域,支付的匿名性是一个重要的研究分支,某些场合对于匿名性的要求存在刚需,这也造就了一批新型的电子货币,本文主要探讨环签名技术相关知识 一般我们对于支付匿名性的需要满足以下两个要求: 1.交易不可追踪:对于任何交易,无法追踪其付款方是谁 2.交易不可关联:对于向外发送的两笔交易,其他人无法证明其是否发给同一个收款人 在比特币的设计中,账本信息是完全公开的。由于交易间输入输出的关联关系,以及输出地址的确定性,可以通过图形分析等方法获得账户间的关系,从而获取用户的隐私信息。 例如,某个用户在线下进行消费,并通过比特币进行支付,那么商家事实上建立了对用户的线上(比特币地址)线下(用户身份)关联。为避免个人隐私信息的泄露,用户必须十分谨慎地对其比特币帐户地址进行管理和隔离。从这个角度来而言,比特币无法满足交易不可追踪和不可关联的条件。 而基于群签名(group signatures)基础上环签名(ring signatures)技术,提供了可行的匿名性解决办法。 环签名简介 2001年,Rivest,shamir和Tauman三位密码学家首次提出了环签名。环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作。 环签名同群签名一样也是一种签名者模糊的签名方案。在环签名中不需要创建环,改变或者删除环,也不需要分配指定的密钥

防止代码被反编译,来看看都有哪些工具可以帮你

浪尽此生 提交于 2020-12-04 13:33:42
曾经有人说.NET是最容易被反编译的开发语言。其实现如今,在常见的开发语言中,无论是.NET还是Java,甚至人气排名第一的JavaScript都存在容易被反编译的风险,如何保护代码不受窃取,如何应用程序不受破坏,是所有开发人员最为关系的话题。 或许在软件开发的过程中,工程师会寻找一些开源产品以节约成本,但在实际应用、分发授权、许可控制的过程中,仍不希望自己的成果被窃取。“代码保护”、“软件保护”等等这些词的热度一直经久不衰。 其中,最常见的保护方式有“代码混淆”、“代码虚拟化”以及“软件加密”。 代码混淆 : 利用花指令和代码非等价变形等技术,将程序的代码,转换成一种功能上等价,但是难于阅读和理解的代码,可充分干扰静态分析。 虚拟化 : 将指令编译为虚拟代码,放在指定虚拟机中运行,目前对指令有一定的格式要求,有的函数可能不能被保护。 软件加密 : 将代码块作为数据,用许可加密函数存储,程序执行到该函数时验证许可并解密,内存中不会暴露完整的代码块,目前有的函数不可添加到保护中。 无论哪种方法,必然会借助工具来实现,接下来咱们就一起来聊聊软件代码保护的那些工具。这里说几个热议度比较高的,其他欢迎在评论区补充~ 针对软件保护 先说说软件加密保护,也有人会说是加壳保护,加壳实际上就是一种加密方式。这里我们说说VMProtect、WinLicense和Themida。 产品名 界面 亮点

嵌入式Linux驱动开发4412-实验01内核开发基础

放肆的年华 提交于 2020-12-01 12:44:15
实验 01 内核开发基础-基于迅为4412开发板 1.1 本章导读 本实验将带您学习一遍 Linux 的框架和源码目录结构。 从任何地方拿到的 Linux 源码,都有几百 M 大小,包含上万个文件。 这么多的文件!那么问题来了,应该从什么地方入手呢? 哪些内容应该“深入研究”? 哪些内容应该“惊鸿一瞥”? 哪些内容应该“束之高阁”? 本期实验“内核开发基础”,带大家快速梳理一遍,把和学习无关的内容剔除掉。 1.1.1 工具 1.1.1.1 硬件工具 PC 机一台 1.1.1.2 软件工具 软件 Source Insight Linux 源码“iTop4412_Kernel_3.0_xxx”(在光盘目录“/ Android 源码”文件夹下,xxx表示日期) 1.1.2 预备课程 视频教程“01-烧写、编译以及基础知识视频”→“实验 12-使用 Source Insight 加载和阅读内核源码” 使用手册“3.5 Source Insight 的安装和使用” 1.1.3 视频资源 本节配套视频为“视频 01_内核开发基础” 1.2 学习目标 本章需要学习以下内容: 理解 Linux 体系结构 了解 Linux 内核结构 了解 Linux 内核源码目录结构 了解学习 Linux 的大方向→驱动 1.3 Linux 体系结构 如下图所示,Linux 体系结构,从大的方面可以分为用户空间

vlan的三种模式access、trunk、hybrid

不想你离开。 提交于 2020-11-27 04:47:08
untag就是普通的ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯; tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头,一般来说这样的报文普通PC机的网卡是不能识别的 下图说明了802.1Q封装tag报文帧结构 带802.1Q的帧是在标准以太网帧上插入了4个字节的标识。其中包含: 2个字节的协议标识符(TPID),当前置0x8100的固定值,表明该帧带有802.1Q的标记信息。 2个字节的标记控制信息(TCI),包含了三个域。 Priority域,占3bits,表示报文的优先级,取值0到7,7为最高优先级,0为最低优先级。该域被802.1p采用。 规范格式指示符(CFI)域,占1bit,0表示规范格式,应用于以太网;1表示非规范格式,应用于Token Ring。 VLAN ID域,占12bit,用于标示VLAN的归属。 以太网端口有三种链路类型:Access、Hybrid和Trunk。 1 Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口; 2 Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口; 3 Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接

谈谈语音通信中的各种tone

那年仲夏 提交于 2020-11-22 08:32:27
今天谈的这个主题(tone)存在于我们的日常打电话过程中。先举两个场景:1,你拿起固话话筒准备打电话,按电话号码前先从话筒里听到“嗡”的连续音,这叫dial tone(拨号音,表示你可以拨电话号码了),你拨完号码对方振铃后你又听到有规律的“嘟-嘟-”的断续音,这叫ring back tone(回铃音,表示对方已振铃了)。2,你给企业服务号(比如中国移动的10086)打电话,对方叫你按键选择,当你按下键后会听到按键声,这叫DTMF tone(双音多频音)。感觉到它存在于我们日常的打电话过程中了吧。现在我们就从技术的角度谈谈这些tone。 在语音通信中tone主要分两大类:CPT(call progress tone,呼叫过程音)tone和DTMF(dual tone multi frequency,双音多频音)tone。CPT tone存在于通话过程中,主要用于告诉用户目前在什么状态,主要有dial tone(拨号音)/ringback tone(回铃音)/busy tone(忙音)等。CPT tone是单频音,即由一个频率的正弦波形成。CPT tone没有全球统一的标准,而是各个国家有自己的标准,比如中国的标准,欧洲的标准,美国的标准等。下表就是我们国家的标准: 还有其他类型的CPT tone,由于用的相对较少,这里就不一一列出了。相对于CPT tone是单频音,DTMF

首届开源软件供应链峰会,ZStack老王技术论道剑指私有云!

≡放荡痞女 提交于 2020-11-19 23:56:33
十里秦淮乌衣巷,紫金山中梧桐道; 六朝古都金陵城,汤包元宵盐水鸭。 就在“天下文枢”、“东南第一学”之称的南京城,举办了一场开源圈大佬云集的技术论道!以下为您正经播报: 11月14日至15日,开源软件供应链2020峰会在南京成功举办。本次峰会由中国科学院软件研究所、openEuler社区主办,中国科学院软件研究所南京软件研究所承办,来自全国各地的开源软件从业者、企业技术专家、高校及科研机构代表、开源社区代表、学生等300余人现场参会、2.3万余人同步线上参会。 会上重点探讨开源技术前沿话题、开源生态建设与合作、开源发展趋势等内容。在【虚拟化&云原生】分论坛,ZStack核心架构师&性能工程负责人 王为做了题为《开源私有云ZStack的架构设计》的精彩分享,重点介绍了ZStack自研核心开源架构的技术原理和应用。 我国国情决定了很多机构上云转型还需依赖于私有云的建设,而且用户群体非常多样化,部署私有云面临异构环境、缩短上云周期与难度、保证云平台高可用性等各种挑战。只有提供产品化、标准化的私有云,才是满足用户兼容异构、高效及高可用需求的优选上云方案。 一、 私有云面临的挑战有何不同? 从用户侧需求研究来看,用户所需要的理想私有云方案,应具备:简单性、稳定性、可扩展性、灵活性。 1、 简单性 私有云的架构跟公有云是不一样的,它更像一个generic solution,根据客户的通用需求

stata操作

眉间皱痕 提交于 2020-11-18 23:57:58
// stata操作 *************************数据基本操作****************************** gen varname = value // 定义变量 replace varname = newvalue if ... // 修改满足条件...的varname的值 drop(varname) // 删除varname变量 sort ( var ) // 按var升序排列 gsort - var // 按var降序排列 strlower("string") //将string字符串都改为小写 strupper("string") //将string字符串都改为大写 strproper("string") //将string字符串每个单词的首字母都大写 keep if ... // 保留满足条件...的数据 qui ... // 隐藏...执行过程 return list // 返回操作结果列表 list var1 var2 // 以列表的形式显示var1 var2的值 summarize( var ),detail // 统计var在表中的一些数学值信息(最大最小、分位数、和....) l. var // 当前var值的前一个var值 gen newname=substr(varname,cut-begin,cut-length) /

计算机网络复习

有些话、适合烂在心里 提交于 2020-10-28 16:50:11
下列哪些http方法对于服务端和用户端一定是安全的?() GET:通过请求URI得到资源,POST:用于添加新的内容,OPTIONS:询问可以执行哪些方法,TRACE:用于远程 诊断服务器,HEAD:类似于GET, 但是不返回body信息,用于检查对象是否存在,以及得到对象的元数据 HEAD,GET,OPTIONS和TRACE视为安全的方法,因为它们只是从服务器获得资源而不对服务器做任何修改, 但是HEAD,GET,OPTIONS在用户端不安全。而POST则影响服务器上的资源。 关于HTTP协议头描述不正确的是() 正确答案: A C 你的答案: A C (正确) cookie是通过http请求正文到服务器端 cookie是保存在客户端的 服务器端可以读取用户端的所有cookie cookie是通过http请求报头传到服务器端 HTTP协议头描述正确的是: 1.cookie是保存在客户端的 2.cookie是通过http请求报头传到服务器端 TCP是端对端的,不支持多播,UDP才支持多播 下列选项中,属于"10.174.20.176/28"该网段的有效IP地址是: 正确答案: B 你的答案: C (错误) 10.174.20.174 10.174.20.186 10.174.20.191 10.174.20.192 ip地址是32位每8位为一组的二进制码,由题10.174.20

TIOBE 9 月编程语言:C++ 突起、Java 流行度下降

允我心安 提交于 2020-10-25 08:52:01
整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 编程语言社区 TIOBE 最新发布了 9 月编程语言排行榜。 自从今年5月被C语言超越后,Java 就 一直位列第2,久久无法突破,市场份额也在逐月降低,本月的市场占比相较去年,降幅 甚至 高达-3.18%。 与之形成鲜明对比的是,在本月 TIOBE Top 20 榜单中,C++以1.48%的增幅重回开发者视野中。其实早在2003年,C++就已是真正的赢家。它在2003年8月达到17.53%的峰值,接近第二名,并获得2003年年度编程语言称号。 不过,自2005年之后,C++市场份额一降再降,甚至再也没有达到10%。在2017年,C++走向历史最低值,占比4.55%。如今随着C++ 20最新标准的逐渐完善, TIOBE CEO Paul Jansen 表示,与去年相比,C++现在是增长最快的语言。 C++20(C++ 编程语言标准 2020 版)是 C++语言一次非常重大的更新,为这门语言引入大量新特性。 C++20 新增的四大特性(概念、范围、协程和模块)完善了许多之前的不足,使开发者拥有更好的开发体验。 除了以上,8-20名也有些许的变化: PHP超越R语言上升1位,变为第8名; Classic Visual Basic跌出TOP 20,Dart进入TOP 20; Rust由第20名上升2个名次,成为第18名。