Manacher’s Algorithm helps us find the longest palindromic substring in the given string. It optimizes over the brute force solution by using some insights into how palindromes work.
欢迎来到LeetCode第161场周赛。这是我第一次参加LeetCode的周赛,比赛时间是1小时30分钟,题目数量是4题。个人觉得题目难度不大,在最后几分钟里我将所有题目都做完了。下面是对本次比赛的复盘。
本文主要描述Lamport-Diffie一次性签名与Merkle认证树结合的签名方案,并探讨如何结合两者创建一个灵活的签名方案(flexible signatures)。
DSA(Digital Signature Algorithm)是一种签名算法,其安全性依赖整数有限域离散对数难题。DSA用于数字签名和认证,发送者使用自己的私钥对文件或者消息摘要进行签名,接收者收到消息后使用发送者的公钥来验证签名的真实性。下面提出一种基于DSA签名算法的批量认证算法,并在LibtomCrypt库下实现。
我在做批量认证协议的实验时,需要调用常见密码学的库来实现密码算法。例如在Python环境下,可以使用pycrypto库,在C/C++环境下,可以选择LibTomCrypt库。下面主要描述关于这个库的使用以及我在使用过程中遇到的问题。
本文以FourQlib代码对椭圆曲线密码算法讨论,并提出基于FourQlib上的点加法,以及介绍基于FourQ的Schnorr签名方案。FourQlib的代码仓库地址是https://github.com/microsoft/FourQlib,下面是关于它的简介。
MAVLink(Micro Air Vehicle Link,微型空中飞行器链路通讯协议)是无人飞行器与地面站GCS之间通讯,以及无人飞行器之间通讯最常用的协议。它已经在PX4、APM、PIXHAWK和Parrot AR.Drone飞控平台上进行了大量测试。由于MAVLink协议是明文协议,因此可能遭遇恶意攻击,下面主要讲述关于在MAVLink上添加安全方案。
这篇文章综述了部分关于无人机安全方向的研究。