数学螺旋生成器 - 阿基米德/对数等螺旋线
选择螺旋类型(阿基米德、对数、费马等),调整参数绘制优美螺旋线。
UD5工具箱
输入明文并点击加密查看结果
详细计算步骤将在此展示
Hill密码由美国数学家Lester S. Hill于1929年发明,是一种基于线性代数的经典加密方法。其核心原理是利用矩阵乘法在模26的整数环上进行加密变换。
加密公式:C = K · P (mod 26),其中K是密钥矩阵,P是明文向量,C是密文向量。
解密公式:P = K-1 · C (mod 26),需要密钥矩阵K在模26下可逆(即行列式与26互质)。
Hill密码是现代分组密码的雏形,它首次将代数结构引入密码学,对后续密码算法的发展产生了深远影响。
解密需要使用密钥矩阵的模逆矩阵K-1。矩阵在模26下可逆的充要条件是其行列式与模数26互质(即gcd(det(K), 26) = 1)。
由于26 = 2 × 13,因此行列式mod 26不能是偶数,也不能是13的倍数。符合条件的行列式值包括:1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25(共12个可能值)。
如果行列式与26不互质,则无法找到模逆矩阵,加密后的信息将无法解密,这就是密钥矩阵必须满足的数学约束。
Hill密码对于唯密文攻击具有一定抵抗力,但在已知明文攻击面前非常脆弱。如果攻击者获得了足够数量的明文-密文对(对于n×n矩阵需要n²对),就可以通过解线性方程组来恢复密钥矩阵。
在现代密码学标准下,Hill密码不再被认为是安全的,因为它是一种线性加密方法,无法抵抗统计分析。但它仍然是密码学教学中理解分组加密和线性变换概念的优秀范例。
Hill密码要求明文按矩阵维度分组。对于2×2矩阵,每组2个字母;对于3×3矩阵,每组3个字母。如果明文长度不是维度的倍数,需要进行填充(padding)。
常用的填充方案是使用字母'X'填充不足的位置(因为X在英文中较少出现)。解密后,如果末尾有连续的X,很可能是填充字符。在实际应用中,也可以使用PKCS风格的填充方案。
在模26运算中,一个数a的模逆元a-1满足:a × a-1 ≡ 1 (mod 26)。
计算模逆元使用扩展欧几里得算法。由于26较小,也可以通过暴力枚举(1到25逐一验证)。例如9在模26下的逆元是3,因为9×3=27≡1 (mod 26)。
对于2×2密钥矩阵,逆矩阵计算公式为:K-1 = det-1 × [[d, -b], [-c, a]] (mod 26),其中det-1是行列式的模逆元。
选择螺旋类型(阿基米德、对数、费马等),调整参数绘制优美螺旋线。
浏览数十种纯CSS实现的几何背景图案,一键复制代码。
计算并比较多个CSS选择器的优先级数值(a,b,c,d),直观解释为何某样式生效。
经典数字滑块拼图,点击移动数字方块,按顺序排列还原,内置步数计时。
在多个浏览器标签页间通过Web Locks API协调共享资源的访问,展示锁机制。
通过调整锐化半径和强度,使用非锐度掩蔽技术让模糊的照片细节更清晰。
选择预设图案(条纹、棋盘、点阵),微调颜色和尺寸,输出background代码。
利用Unicode字符映射,将输入文本上下颠倒翻转显示,可直接复制到社交平台。
输入简单句,生成传统的句子图解树,显示成分关系。
通过半径和强度滑块模拟油画笔触效果,将照片转为生动的仿油画作品。
带有基本图层概念的在线画画工具,支持多种笔刷效果和透明度调节。
生成一系列押韵的藏宝线索,贴在彩蛋上,引导孩子在家里寻找。
模拟通灵板,随机选取字母拼出诡异单词,仅供娱乐。
输入定约墩数、是否加倍、是否成局等,精确计算桥牌得分。
在Canvas上半边绘制陶罐轮廓,自动对称旋转形成3D状的陶罐效果。
加载 JSON 数据,生成带列排序、搜索过滤和前端分页的交互式表格。
选择多种语言,利用Web Speech API测试语音转文字准确率对比。
将SVG代码或文件渲染为指定尺寸的PNG图片,支持透明背景,纯前端转换保证隐私。
记录鼠标移动轨迹作为手势,绑定到页面内操作(如刷新、返回),仅供演示。
给出历史事件,拖动时间轴到正确年份,越精确积分越高。
将不同颜色的水在各试管间倒来倒去,直到每个试管只装一种颜色。
拥有简版食物库,拖拽到一周七天的早中晚格子,自动计算蛋白质/碳水量。
拍照或上传每日试纸结果,按时间排列,辅助判断排卵趋势。
将彩色照片转为黑白灰度,支持平均值、加权法等算法,调整亮度对比度,前端即时出图。
随机显示两个选项让用户点击,内容涵盖食物、旅行、人格等,适合破冰。
屏幕上散落一堆英文单词磁贴,拖拽拼成诗句,截图分享。
将 Markdown 标记转换为 Python 文档常用的 reStructuredText 格式,支持标题、代码块等。
生成当用户输入时占位符上浮变为标签的Material风格输入框HTML/CSS。
选择仓鼠品种,根据动物福利标准推荐最小笼子底面积和跑轮直径。
上传两张图片,通过滑块左右拖动查看叠加差异,用于展示修图前后或滤镜效果。