密码安全伪随机数生成器 - CTF Wiki
文章推薦指數: 80 %
它需要满足满足一些必要的特性,以便于适合于密码学应用。
密码学的很多方面都需要随机数. 密钥生成; 生成初始化向量,IV,用于分组密码的CBC,CFB ...
跳转至CTFWikictf-wiki/ctf-wikiStartStart简介如何使用CTFWiki贡献指南贡献指南贡献之前基本贡献方式贡献文档要求翻译讨论交流IntroductionIntroductionCTF历史CTF竞赛模式简介CTF竞赛内容线下攻防经验小结CGC超级挑战赛学习资源MiscMisc杂项简介信息搜集技术编码分析编码分析通信领域常用编码计算机相关的编码现实世界中常用的编码取证隐写前置技术图片分析图片分析图片分析简介PNGJPGGIF音频隐写音频隐写音频隐写流量包分析流量包分析流量包分析简介PCAP文件修复协议分析协议分析协议分析概述WiresharkHTTPHTTPSFTPDNSWIFIUSB数据提取压缩包分析压缩包分析ZIP格式RAR格式磁盘内存分析磁盘内存分析磁盘内存分析题目OtherOtherpyc文件CryptoCrypto密码学简介基础数学知识基础数学知识基础数学知识古典密码古典密码古典密码简介单表代换加密多表代换加密其它类型加密总结流密码流密码流密码伪随机数生成器伪随机数生成器伪随机数生成器介绍密码安全伪随机数生成器密码安全伪随机数生成器目录介绍需求分类参考文献题目线性同余生成器线性同余生成器线性同余生成器题目反馈移位寄存器反馈移位寄存器反馈移位寄存器线性反馈移位寄存器-LFSR非线性反馈移位寄存器特殊流密码特殊流密码RC4块加密块加密块加密ARXARXARX:Add-Rotate-XorDESDESDESIDEAIDEAIDEAAESAESAESSimonandSpeckSimonandSpeckSimonandSpeckBlockCiphers分组模式分组模式分组模式填充方式ECBCBCPCBCCFBOFBCTRPaddingOracleAttack非对称加密非对称加密介绍RSARSARSA介绍模数相关攻击公钥指数相关攻击私钥d相关攻击私钥d相关攻击私钥d相关攻击扩展维纳攻击Coppersmith相关攻击RSA选择明密文攻击RSA侧信道攻击Bleichenbacher'sattackRSA复杂题目背包加密背包加密背包加密离散对数相关离散对数相关离散对数ElGamalECC格密码格密码格概述基本介绍格基规约算法CVP哈希函数哈希函数哈希函数MD5MD5MD5SHA1SHA1SHA1FNVFNVFowler–Noll–VohashfunctionHashAttackHashAttackHashAttack综合题目数字签名数字签名数字签名RSA数字签名RSA数字签名RSA数字签名ElGamal数字签名ElGamal数字签名ElGamalDSA数字签名DSA数字签名DSA攻击思想总结攻击思想总结简介中间相遇攻击中间相遇攻击中间相遇攻击-MITM比特攻击比特攻击比特攻击证书格式证书格式证书格式WebWebWeb简介SQL注入SQL注入SQL注入XSS跨站脚本攻击XSS跨站脚本攻击XSSCSRF跨站请求伪造CSRF跨站请求伪造CSRFSSRF服务端请求伪造SSRF服务端请求伪造SSRFPHP代码审计PHP代码审计PHP代码审计AssemblyAssemblyx86_x64MIPSARMExecutableExecutableELF文件ELF文件ELF文件基本结构ELF文件基本结构ELF文件SectionsCodeSectionDataRelatedSections.symtab:SymbolTableStringSectionsDynamicSectionsMiscSections程序加载程序加载程序加载程序链接程序链接程序链接SymbolReslove程序执行流程程序执行流程程序执行流程ReverseReverseReverseOverviewReverseOverview软件逆向工程简介常见加密算法和编码识别迷宫问题虚拟机分析UnicornEngine简介LinuxReverseLinuxReverseLD_PRELOADFalseDisassemblyDetectingBreakpointsDetectingdebuggingWindowsReverseWindowsReverse脱壳技术脱壳技术保护壳简介单步跟踪法ESP定律法一步到达OEP法内存镜像法最后一次异常法SFX法DUMP及IAT重建手动查找IAT并使用ImportREC重建DLL文件脱壳反调试技术反调试技术NtGlobalFlagHeapFlagsTheHeapInterrupt3IsDebuggerPresentCheckRemoteDebuggerPresentNtQueryInformationProcessZwSetInformationThread花指令反调试技术例题PwnPwnLinuxPlatformLinuxPlatformUserModeUserModeEnvironmentEnvironmentEnvironmentExploitationExploitationStackOverflowStackOverflowx86x86栈介绍栈溢出原理基本ROP中级ROP高级ROP高级ROP高级ROPret2dlresolveret2VDSOSROP花式栈溢出花式栈溢出花式栈溢出技巧armarm环境搭建ArmROPmipsmipsmips-ROPrisc-vrisc-vRISC-VFormatStringFormatString原理介绍利用例子检测HeapExploitationHeapExploitationPtmalloc2Ptmalloc2堆利用堆概述堆相关数据结构深入理解Ptmalloc2深入理解Ptmalloc2深入理解堆的实现基础操作堆初始化申请内存块释放内存块tcachemalloc_state相关函数测试支持堆溢出堆中的Off-By-OneChunkExtendandOverlappingUnlinkUseAfterFreeFastbinAttackUnsortedBinAttackLargeBinAttackTcacheattackHouseOfEinherjarHouseOfForceHouseofLoreHouseofOrangeHouseofRabbitHouseofRomanHouseofPigMusl-mallocngMusl-mallocngReadmeIO_FILEExploitationIO_FILEExploitationFILE结构伪造vtable劫持程序流程FSOPglibc2.24下IO_FILE的利用IntegerOverflowIntegerOverflow整数溢出TypeConfusionTypeConfusionTypeConfusionUninitializedMemoryUninitializedMemoryUninitializedMemoryRaceConditionRaceConditionRaceCondition题目DefenseDefenseCanarySummarySummary获取地址控制程序执行流shell获取小结KernelModeKernelModeEnvironmentEnvironmentIntroduction内核下载与编译编译内核驱动Qemu模拟环境RealDeviceBasicKnowledgeBasicKnowledge基础知识AimAimIntroductionPrivilegeEscalationPrivilegeEscalationIntroductionChangeSelfChangeOthersInformationDisclosureDoSDefenseDefenseIntroductionIsolationIsolationIntroductionUserandKernelUserandKernelIntroduction用户代码不可执行用户数据不可访问KPTI-KernelPageTableIsolationInsideKernelInsideKernel内部隔离AccessControlAccessControlIntroduction信息泄漏MiscDetectionDetectionIntroductionKernelStackCanaryRandomizationRandomizationIntroductionKASLRFGKASLRExploitationExploitationkernelUAFKernelROPret2usrbypass-smepDoubleFetchuserfaultfd的使用WindowsPlatformWindowsPlatform概述栈溢出栈溢出栈介绍栈溢出原理执行ShellcodeMacOSPlatformMacOSPlatformMacOSMiscOSPlatformMiscOSPlatformReadmeSandboxEscapeSandboxEscapepythonpythonPython沙盒shellshellShellSandboxseccompseccompC沙盒逃逸namespacenamespaceNamespacechrootchrootChrootdockerdockerDockerVirtualizationVirtualizationQEMUQEMUQEMUVirtualBoxVirtualBoxVirtualBoxVMWareVMWareVMWareParallelsParallelsParallelsBrowserBrowserChromeChromeChromeFirefoxFirefoxFirefoxSafariSafariSafariHardwareHardwareCPUAndroidAndroidAndroid开发基础Android运行机制简述Android运行机制简述Android应用运行机制简述Android中Java层的运行机制Android中Java层的运行机制Android中Java层的运行机制SmaliDex&&ODEXDex&&ODEXDEX文件ODEX文件AndroidNative层介绍AndroidNative层介绍so介绍Android逆向基本介绍Android逆向基本介绍Android逆向基本介绍Android关键代码定位Android简单静态分析Android简单静态分析静态分析java层例子静态分析原生层程序静态分析综合题目Android简单动态分析Android简单动态分析Android动态调试IDA动态调试原生层程序ICSICSICS_CTF竞赛ICS_CTF发现ICS_CTF利用ICS_CTF学习资源BlockchainBlockchainBlockchainSecurityOverviewEthereumSecurityEthereumSecurityEthereumOverviewEthereumBasicsFunctionSelectorandArgumentEncodingEthereumStorageEthereumOpcodesKnownAttacksKnownAttacksIntroductionRe-EntrancyIntegerOverflowandUnderflowRandomnessAirdropHuntingShortAddressAttackDelegatecallUninitializedStoragePointerArbitraryWritingCREATE2JumpOrientedProgrammingSmartContractReverse学习资源PublicBlockchainSecurityPublicBlockchainSecurityPublicBlockchainSecurityOverviewBlockchainWeaknessesBlockchainSecurityChallenges目录介绍需求分类参考文献密码安全伪随机数生成器¶介绍¶密码学安全伪随机数生成器(cryptographicallysecurepseudo-randomnumbergenerator,CSPRNG),也称为密码学伪随机数生成器(cryptographicpseudo-randomnumbergenerator,CPRNG),是一种特殊的伪随机数生成器。
它需要满足满足一些必要的特性,以便于适合于密码学应用。
密码学的很多方面都需要随机数密钥生成生成初始化向量,IV,用于分组密码的CBC,CFB,OFB模式nounce,用于防止重放攻击以及分组密码的CTR模式等、one-timepads某些签名方案中的盐,如ECDSA,RSASSA-PSS需求¶毫无疑问,密码学安全伪随机数生成器的要求肯定比一般的伪随机数生成器要高。
一般而言,CSPRNG的要求可以分为两类通过统计随机性测试。
CSPRNG必须通过next-bittest,也就是说,知道了一个序列的前k个比特,攻击者不可能在多项式时间内以大于50%的概率预测出来下一个比特位。
这里特别提及一点,姚期智曾在1982年证明,如果一个生成器可以通过next-bittest,那么它也可以通过所有其他的多项式时间统计测试。
必须能够抵抗足够强的攻击,比如当生成器的部分初始状态或者运行时的状态被攻击者获知时,攻击者仍然不能够获取泄漏状态之前的生成的随机数。
分类¶就目前而看,CSPRNG的设计可以分为以下三类基于密码学算法,如密文或者哈希值。
基于数学难题某些特殊目的的设计参考文献¶https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator
延伸文章資訊
- 1密碼學安全偽亂數生成器— Google 藝術與文化
密碼學安全偽亂數生成器,是一種能夠通過運算得出密碼學安全偽亂數的偽亂數生成器。相較於統計學偽亂數生成器和更弱的偽亂數生成器,CSPRNG所生成的密碼學安全偽亂數 ...
- 2密碼學安全偽亂數生成器- 維基百科 - Wikipedia
密碼學安全偽亂數生成器(亦作密碼學偽亂數生成器,英文:Cryptographically secure pseudo-random number generator,通稱CSPRNG),是一種能...
- 3透過特殊裝置產生亂數,讓你的電腦加密更安全
受限於許多現實的限制,一般電腦並無法自行生成真正的隨機亂數,妥協之道只能使用程式產生具有偽隨機性的偽亂數,會增加破解的容易度,進而影響加密的 ...
- 4密码安全伪随机数生成器 - CTF Wiki
它需要满足满足一些必要的特性,以便于适合于密码学应用。 密码学的很多方面都需要随机数. 密钥生成; 生成初始化向量,IV,用于分组密码的CBC,CFB ...
- 5一些破密與加密最近的鬥爭 - 知識天地- 中央研究院
一般來說,資訊的安全防護被破解或是被侵入系統,很少是因為密碼學的理論本身造成 ... 串流式的加解密簡單的來說就是偽亂數生成器(pseudo-random number generator, ...