理解密碼學中的雙線性對映
回顧 - 什麼是群
一、定義
定義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對來構造。
相關文章
- vit的線性對映過程
- Hibernate 對映xml中的屬性型別XML型別
- D3D中的紋理對映(2)3D
- ElasticSearch中的對映Elasticsearch
- AutoMapper在MVC中的運用05-對映中的忽略、處理null、多種對映轉換APPMVCNull
- 初學struts,不太理解對映中的.do.
- MapStruct屬性對映Struct
- AutoMapper在MVC中的運用06-一次性定義對映、複雜型別屬性對映APPMVC型別
- iBatis中對映的疑惑BAT
- 如何高效的處理陣列對映陣列
- hibernate(四) 雙向多對多對映關係
- 關於struts2 action中map型別屬性的對映型別
- jive對密碼的加解密?密碼解密
- Mybatis處理列名—欄位名對映— 駝峰式命名對映MyBatis
- AutoMapper在MVC中的運用04-string對映各種型別、一個屬性對映多個屬性等APPMVC型別
- Mybatis學習筆記(5)-高階對映之多對多對映MyBatis筆記
- mybatis中註解對映SQL示例程式碼MyBatisSQL
- Three.js進階篇之9 - 紋理對映和UV對映JS
- Mybatis學習筆記(4)-高階對映之一對多對映MyBatis筆記
- Mybatis學習筆記(3)—高階對映之一對一對映MyBatis筆記
- maven編譯遇到"編碼GBK的不可對映字元"警告的處理Maven編譯字元
- 好程式設計師Java學習路線分享mybatis對映程式設計師JavaMyBatis
- C# 反射/對映學習C#反射
- 對線性表的操作
- 如何將資料庫中json格式的列值對映到java物件的屬性中資料庫JSONJava物件
- JavaScript 資料處理 - 對映表篇JavaScript
- 什麼是原始碼對映?原始碼
- 線性規劃對偶學習筆記筆記
- Entity Framework Code First屬性對映約定Framework
- 微服務架構MapStruct屬性對映微服務架構Struct
- 5、處理方法對映(Handler Mapping)APP
- QTP中對映驅動器和複製資料夾的指令碼QT指令碼
- 線性代數中的線性方程組方法
- HIBERNATE的對映---資料庫表中欄位和對應持久化類中屬性都是自定義型別的?資料庫持久化型別
- PostgreSQLjdbc錯誤程式碼對映(SQLSTATE)SQLJDBC
- [非專業翻譯] Mapster - 雙向 & 逆扁平對映
- 學習Hibernate原始碼二_Hibernate物件對映檔案hbm學習原始碼物件
- Oracle對資料進行加密&解密處理Oracle加密解密