理解密码学中的双线性映射
回顾 - 什么是群
一、定义
定义1 设G是定义了一个二元运算+的集合,如果这个运算满足下列性质:
(1)封闭性——如果a和b都属于G,则a+b也属于G。
(2)结合律——对于G中的任意元素a、b和c,都有(a+b)+c=a+(b+c)成立。
(3)单位元——G中存在元素e,对于G中任意元素a,都有a+e=e+a=a成立。
(4)逆元——对于G中任意元素a,G中都存在元素a'
,使得a+a'=a'+a=e
成立。G就叫作一个群,记为(G,+)。
如果这里的运算+是加法运算,则称G为加法群;如果这里的运算+是乘法运算,则称G为乘法群。如果一个群中的元素是有限的,则称这个群是一个有限群;否则称这个群是一个无限群。有限群中元素的个数称为群的阶。
例:集合{0,1}关于xor运算是群,阶为2
封闭性:0 xor 1 = 1属于该群
结合律:(0 xor 1)xor 0 = 1 = 0 xor (1 xor 0)
单位元为0:0 xor 0 = 0,0 xor 1 = 1
逆元为1:1 xor 0 = 1,1 xor 1 = 0又如:自然数集合N={1,2,3…}对于通常的加法封闭且满足结合律,但不存在左单位元和左逆元,因此对于加法不是群。
如果群(G,+)中的运算+还满足交换律,即对G中的任意元素a和b,都有a+b=b+a成立,则称G为一个交换群或Abel群,例如整数关于加法的运算(Z,+)就为交换群。
在群中定义求幂运算为重复使用群中的运算,如a4=a+a+a+a。规定a0=e为单位元。如果一个群的所有元素都是a的幂ak,则称这个群是一个循环群,这里的k是整数。a也被称为这个群的生成元。
例:整数加法群是一个循环群,1是生成元,每一个元素都是1的幂,如:
4=14=1+1+1+1
-3=1 -3=(-1)+(-1)+(-1)
而且规定0=1 0,即0为0个1相加。
(注:定义中的“+”并不代表具体的加法,而是抽象的加法——代表一种代数运算)
定义2 给定群G中元素a,称满足ai=e的最小正整数i为元素a的阶。
二、群的基本性质
(1)左逆元同时也是右逆元,即对于a,b∈G,b+a=e,则a+b=e。
(2)左单位元同时也是右单位元,即如果对于所有的a∈G有ea=e,则对于所有的a∈G也有ae=e。
(3)单位元是唯一的。
(4)逆元是唯一的。
双线性映射
抽象意义的双线性映射描述如下:
设G1、G2都是阶为p的循环群,p是素数。如果映射e: G1 × G1 → G2 满足以下性质:
(1)双线性性。
对于任意a,b∈Zp和R,S∈G1,有e(Ra, Sb) = e(R, S)ab;
(2)非退化性。
存在R,S∈G1,使得e(R, S) ≠ 1G2。这里1G2代表G2群的单位元;
(3)可计算性。
存在有效的算法对任意的R,S∈G1,计算e(R, S)的值。
那么称e是一个双线性映射。
双线性映射可以通过有线域上的超椭圆曲线上的Tate对或Weil对来构造。
理解密码学中的双线性映射相关推荐
- 通俗地解释下密码学中的归约证明
本文首发于本人的:能否通俗地解释下密码学中的归约证明? - ChainingBlocks的回答 - 知乎 https://www.zhihu.com/question/49441102/answer/ ...
- [区块链] 密码学中Hash算法(基础)
在介绍Hash算法之前,先给大家来个数据结构中对hash表(散列表)的简单解释,然后我再逐步深入,讲解一下hash算法. 一.Hash原理--基础篇 1.1 概念 哈希表就是一种以 键-值(key-i ...
- 密码学中的同态加密算法,保证数据的安全,你了解吗?
密码学中的同态加密算法,保证数据的安全,你了解吗? 目录 密码学中的同态加密算法,保证数据的安全,你了解吗? 1:什么是同态加密? 2:同态加密算法原理 3:标准化进展 4: 主流同态加密算法原理 4 ...
- 线性代数应用于计算机科学例子,线性代数课程设计_线性代数在密码学中的应用...
科技展望 2015/24 线性代数课程设计 --线性代数在密码学中的应用 郑 欣 (沈阳理工大学,辽宁 沈阳 110168) [摘 要]线性代数是工科本科教育的基础学科,在教学过程中,经常注重理论学习 ...
- 密码学中常用的人物角色名称--Alice, Bob,etc
密码学中常用的人物角色名称 转载至 (https://blog.51cto.com/manual/788667) 爱丽丝(Alice)与鲍伯(Bob)是广泛地代入密码学和物理学领域的通用角色.除了爱丽 ...
- 密码学中的“盐值 Salt”
为什么要在密码里加点"盐" 盐(Salt) 在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为"加盐&q ...
- 公钥密码学中的素数以及对称加密
密码学,一向被人们认为门槛很高,特别高端...这也是实际,但是这决不意味着普通人无法了解它的精髓,对于喜欢画圆的人来讲,即便是理解了密码技术背后的哪怕一点理论,也是激动人心的. 声明和悲叹 最近,一次 ...
- 彻底理解js中this
相关博文:http://blog.csdn.net/libin_1/article/details/49996815 彻底理解js中this的指向,不必硬背. 首先必须要说的是,this的指向在函数定 ...
- 理解oracle中连接和会话
理解oracle中连接和会话 1. 概念不同:概念不同: 连接是指物理的网络连接. 在已建立的连接上,建立客户端与oracle的会话,以后客户端与oracle的交互都在一个会话环境中进行. 2. ...
- 深入理解C++中public、protected及private用法
深入理解C++中public.protected及private用法 这篇文章主要介绍了C++中public.protected及private用法,对于C++面向对象程序设计来说是非常重要的概念,需 ...
最新文章
- python的csv模块的write_rows_Python3使用csv模块csv.writer().writerow()保存csv文件,产生空行的问题...
- java泰坦宙斯之战程序_泰坦 - 宙斯之战 相关知识点: 1. 使用随机类 2. 类的成员变量 3. 类的成员方法 4. 带参构造器_电商题库2017(学测)答案_学小易找答案...
- Python 命令行之旅:深入 click 之参数篇
- oracle数据库在sqlplus登录时遇到的问题
- linux update语句,关于Update语句的调整(5-1)
- CDH spark2切换成anaconda3的问题
- CentOS7.2安装Oracle12.1.0.2
- 实现加入购物车抛物线效果
- C# 计时工具 Stopwatch
- 51nod-1391:01串
- 增量同步_实战 | canal 实现Mysql到Elasticsearch实时增量同步
- 判断是否是正确的EMAIL格式
- CyberSecurity Knowledge Base笔记
- UE4贴图自适应屏幕大小
- FZU 2139 久违的月赛之二
- 大数据编程语言培训前景,怎么样?
- signature=1c1223d10236c18f125cb9f7a490588e,Microscaled proteogenomic methods for precision oncology
- 【硬见小百科】看完这篇,请不要再说不懂MOSFET!
- 解决没有conio.h中的gotoxy()问题
- python cox回归_数据分析|回归分析(RPython)
热门文章
- Python知识点之Python进阶
- 时间序列预测算法——DeepAR
- linux vi命令的查询,linux vi命令模式详解
- 台达AS228Tplc加台达触摸屏一套程序,一共100个io 左右,一个伺服程序。plc程序有FB块,ST语言,C语言,触摸屏有配方和数据储存功能
- 台达PLC,触摸屏程序工程案例 含电气图 台达与伺服变频通讯实例
- js ajax 跨域上传文件,使用 Javascript 实现跨域上传文件到存储
- 查看linux有多少线程总数,linux线程总数
- 理解条件随机场(转)
- 随机微分方程学习笔记01 相对布朗运动的Ito积分
- sql中常见sqlcode原因分析