我的博客和笔记我的博客和笔记
首页
文章
  • TurboLink
  • TinyEncrypt
  • UnrealStyleGuide
  • AxTrace
  • Cyclone
  • 数学相关
  • 图形学
  • 密码学
  • 编程语言
关于
GitHub
首页
文章
  • TurboLink
  • TinyEncrypt
  • UnrealStyleGuide
  • AxTrace
  • Cyclone
  • 数学相关
  • 图形学
  • 密码学
  • 编程语言
关于
GitHub
  • 我的文章

    • 从抛币协议到智能合约

      • Part1
      • Part2
    • JPEG算法解密

      • Part1
      • Part2
      • Part3
      • Part4
      • Part5
      • Github
    • SPH算法简介

      • Part1
      • Part2
      • Part3
      • Part4
      • Github
    • 赌博中的数学:Martingle策略
    • 如何生成一个随机的圆形
    • 一个简单的DH密钥协商算法的实现
    • 如何计算线段和圆的交点
    • 一道数学趣题
    • 斐波那契数列和1/89
    • 匀速贝塞尔曲线运动的实现

      • Part1
      • Part2
  • 开源项目

    • TurboLink
    • TinyEncrypt
    • UnrealStyleGuide
    • AxTrace
    • Cyclone
  • 学习笔记

    • 数学相关

      • 常用数学符号
      • 群
      • 数论(一)
      • 数论(二)
      • 数论(三)
        • 9. Blum整数Blum Integer
          • 9.1 定义
          • 9.2 历史
          • 9.3 特性
      • 概率
    • 密码学

      • RSA
      • 抛币协议
      • 智能扑克协议
    • 图形学

      • 数学基础

        • 矢量
        • 矩阵
        • 立体角
        • 几何变换(一)
        • 几何变换(二)
        • 法线变换
        • 摄像机变换
      • 光照模型

        • 传统光照模型
        • 光度学
        • 双向反射分布函数(BRDF)
        • 微平面理论(一)
        • 微平面理论(二)
        • 微平面理论(三)
        • 光照方程
      • 环境光渲染

        • 环境光渲染(一)
        • 环境光渲染(二)
    • 编程语言

      • JavaScript

        • 环境搭建
        • 基本语法
        • 函数
        • 对象和类

数论(三)


9. Blum整数Blum Integer

9.1 定义

如果有质数p,q,满足p≡3(mod4),q≡3(mod4),那么n=pq称为Blum整数
比如 21, 33, 57, 69, 77, 93, 129, 133, 141, 161, 177, 201, 209, 213, 217, 237, 249, 253, 301, 309, 321, 329, 341, 381, 393, 413, 417, 437, 453, 469, 473, 489, 497, ...

9.2 历史

以数学家Manuel Blum命名

9.3 特性

设n是Blum整数

9.3.1

由于p=4k+3,p−12=2k+1, 所以L(−1,p)=(−1)p−12=(−1)2k+1=−1
所以

J(−1,n)=L(−1,p)×L(−1,q)=1

推论:J(a,n)=J(−a,n)
举例:

J(1,21)=J(20,21)=1J(2,21)=J(19,21)=−1J(4,21)=J(17,21)=1⋯J(10,21)=J(11,21)=−1

9.3.2

对于任意y∈Zn∗,如果L(y,n)=1,那么y和−y有一个属于QRn,有一个属于QNRn
举例:
满足J(y,21)=1的数有{±1,±4,±5},其中{1,4,−5(16)}属于QR21, {−1(20),−4(17),5}属于QNR21

9.3.3

对于任意y∈QRn,方程x2≡y(modn)有四个根±u,±v,这四个根满足以下组合

{L(u,p)=1L(u,q)=1{L(−u,p)=−1L(−u,q)=−1{L(v,p)=−1L(v,q)=1{L(−v,p)=1L(−v,q)=−1

其中有且仅有一个解u∈QRn,
举例:
方程x2≡4(mod21)有四个解±2(2,19),±5(5,16),

{L(16,3)=1L(16,7)=1{L(5,3)=−1L(5,7)=−1{L(2,3)=−1L(2,7)=1{L(19,3)=1L(19,7)=−1

9.3.4

函数f(x)=x2(modn)是集合QRn的一个置换,也就是说,对于任意x∈QRn,f(x)∈QRn,且f(x)和x一一对应
举例57=3x19:

x∈QR57147162528434955
x2mod57116492855432574

9.3.5

对于任意y∈QRn,方程x2≡y(modn)有四个根±u,±v,其中一对解±u,也就是u,n−u, 一定有一个是奇数,另一个是偶数,一个是在[1,(n−1)/2]区间,另一个在[(n+1)/2,n−1]区间
比如x2≡16(mod21)有四个解(4,17),(10,11)

9.3.6

Zn∗被分成不相交且数量相等的四份,分别为QRn,(−1)QRn,ξQRn,(−ξ)QRn,其中ξ2≡1(modn), 而且L(ξ,n)=−1
举例:
对于n=21,ξ=8,Z21∗={1,2,4,5,8,10,11,13,16,17,19,20},

QR21={1,4,16}(−1)QR21={20,17,5}ξQR21={8,32,128}mod21={8,11,2}(−ξ)QR21={13,10,19}

9.3.7

如果已知Blum整数n,方程x2≡a(modn)的四个解±x1,±x2, 那么可以推导出n的两个质数因子gcd(x1+x2,n),gcd(x1−x2,n)

举例:
如果已知方程x2≡16(mod21)的四个解为±4,±10,那么gcd(10+4,21)=7,gcd(10−4,21)=3,所以可以推导出21的两个质因子为3和7

Prev
数论(二)
Next
概率