1. 程式人生 > >離散對數:這個好難

離散對數:這個好難

定義

設g是m的一個原根,對於滿足(k, m) = 1 的k, k關於g的離散對數(mod m)定義為一整數t,使

gtk(modm)
且t為一個最小剩餘(modϕ(m))
記作indgk。          //此處可類比整式裡的loggk, 不過這裡對ϕ(m)取模了。

舉個栗子

對於m=5, 有一個原根g=2,我們有

201,212,224,233(mod5)
所以有ind21=0,ind22=1,ind24=2,ind23=3

性質

性質1indgabindga+indgb(modϕ(m))

性質2indganni

ndga(modϕ(m))

//這兩個性質和整式裡的對數的性質差不多, 可作類比理解,也易證明。

求法

(重點來了)關於abc(modp)知2求1(p一直是已知的)

相關推薦

離散對數:這個

定義 設g是m的一個原根,對於滿足(k, m) = 1 的k, k關於g的離散對數(mod m)定義為一整數t,使gt≡k(modm) 且t為一個最小剩餘(modϕ(m))。 記作i

BZOJ 3992: [SDOI2015]序列統計 快速冪+NTT(離散對數下)

不同 led gre lan cnblogs 至少 inf tro 程序編寫 3992: [SDOI2015]序列統計 Description 小C有一個集合S,裏面的元素都是小於M的非負整數。他用程序編寫了一個數列生成器,可以生成一個長度為N的數列,數列中

離散對數二連 poj 2417 Discrete Logging & HDU 2815 Mod Tree

tdi close efi 信息 euc xtend spl insert key 題目就不貼了。都是一樣的套路求解a^x % c = b的最小x 註意HDU的題目很坑,有b比c大和題目中輸出信息為全角引號的坑 下面貼的是HDU的版本,poj的改一下a,b,c順序和輸出就好

BSGS離散對數(Baby-Step-Giant-Step)

blog 常數 離散 自然 處理 sqrt 插入 如果 枚舉 BSGS離散對數(Baby-Step-Giant-Step) 題目: 給定\(x,y,p,\)求最小的自然數\(k\)滿足\(x^k=y(\mod p)\)\(p\le2^{31}\)(滿足一定有答案) 題解:

團隊部落格(第四周)-“名字想”

一,已完成工作         1.美術資源設計完畢           2.介面設計完畢           3.客戶端登入程式實現 二,待完成工作 &nbs

【科技】原根的快速判斷方法以及對1求離散對數的另一種想法

鑑於實際需要,本文中所選的模數$p$總是一個平凡質數,並用$\phi$表示$\phi (p) = p - 1$。 原根的定義: 基於$p$是質數,我們可以很簡單的把它的定義想成,如果一個數$a \in [0, p - 1]$是原根的充要條件是對於$x \in [0, p - 2]$,$a^{x}$互不相同

479. Largest Palindrome Product(python+cpp)(這道題我記得..)

題目: Find the largest palindrome made from the product of two n-digit numbers. Since the result could be very large, you should return the

團隊部落格(第五週)-“名字想”

一,測試找出的BUG 目前共測試有10個bug,其中由於技術問題難以處理的bug共有4個,隨機出現的bug有4個,可修復的bug有2個。 二,場景測試   1.預計客戶會通過開啟桌面端使用 2.擴充套件更多的功能 3.軟體功能值得期待 三,測試環境  win10系統,視窗解

團隊博客(第五周)-“名字想”

解決 bsp 團隊 版本發布 測試 分辨率 測試環境 軟件 技術 一,測試找出的BUG 目前共測試有10個bug,其中由於技術問題難以處理的bug共有4個,隨機出現的bug有4個,可修復的bug有2個。 二,場景測試 1.預計客戶會通過打開桌面端使用 2.擴展更多的功能

這個用高效的讀書筆記app軟體一定要收藏

開啟軟體首頁就是卡片式的讀書筆記,可以上下左右滑動切換下一條筆記。首頁筆記的推薦是系統根據你原來做的筆記或者看你點贊評論等行為智慧推薦的。切換到下一條後就無法返回到上一條筆記。 點選底部中間的相機按鈕會彈出拍照掃描識別功能的選項,可以選擇圖片或者使用相機拍攝。長按會直接進入建立流

擴充套件BSGS求解離散對數問題

擴充套件BSGS用於求解axΞb mod(n) 同餘方程中gcd(a,n)≠1的情況 基本思路,將原方程轉化為a與n互質的情況後再套用普通的BSGS求解即可 struct Hashmap{ static const int Ha=999917,maxe=46340; int E,ln

離散對數-BSGS演算法

口胡 離散對數主要是求解這樣一類問題: ax≡b(modm)a^x \equiv b \pmod max≡b(modm) 大概就是(modm)\pmod m(modm)意義下的對數 這裡只考慮 (m,a)(m,a)(m,a)為1的情況。一般來說,給出的m是一個

離散對數 && EXBSGS】Gym

Step1 Problem: a^x ≡ b(mod m). 給你 a, b, m, 求 x. 資料範圍: 1<=T<=500, 0 <= a, b < m <= 1e9. Step2 Ideas: 學習演算法部落格 說說自己

離散對數概念

2018-06-27 概念 同餘運算 數學上,同餘(congruence modulo,符號:$\equiv$)是數論中的一種等價關係。當兩個整數除以同一個正整數,若得相同餘數,則二整數同餘。同餘是抽象代數中的同餘關係的原型。最

零基礎自學Python?學起來很吃力,想放棄?看看別人是怎樣學習的

其實吧, 你也沒不能接受別人一分鐘能賺你一輩子的錢吧… 比爾蓋茨動動手指就有一套房子,你不是也沒覺得有什麼不對嗎? 那你為什麼不能接受有人一分鐘能學你一輩子的知識… 別人用一分鐘學你一個小時的事情,不也沒什麼不對嗎? 學習是為了把自己變得厲害, 不是為了把自己變得比別人

離散對數和橢圓曲線加密原理

序言 現代公鑰加密系統中,常用的加密演算法除了RSA還有離散對數加密和橢圓曲線加密。這兩者原理比較相似,在這裡一併介紹。 離散對數問題 我們在中學裡學的對數問題是指, 給定正實數aa和axax,求xx。也就是計算x=logaaxx=lo

CentOS6.8中RabbitMQ的安裝和配置&俺們這些逗比遇到的坑

安裝系統CentOS6.8 1.erlang的安裝erlang的版本:erlang-18.2.1 erlang的依賴環境: (1)首先安裝GCC GCC-C++ Openssl等模組: yum -y install make gcc gcc-c++ kernel-devel

離散對數

#include #define MAX 100 void main() {   int i,j, num,sum=0, m[MAX]={0},mm[MAX]={0},mm1[MAX]={0}

離散對數之ElGamal 密碼

   在講ElGamal 密碼之前,先溫習一下基礎的數學知識。我們在中學的時候都知道,X^y=n,則求y是很容易的,y=logy(n),但是,如果我們對這個n取模的話,要想求出這個y就是NPC問題了,很難求出了,這就是離散對數問題,因為,取模就是將連續數字離散化的過程。還需要

C語言——“_at()” 特殊地址定位指令

在keil裡面,有一個特殊地址定位的指令,就是將一個變數或常量定位到一個指定的地址上面指令為 __at ,使用方法如下int variable __at(0x8000) = 100;意為將variable變數定位到0x8000這個地址。指令的目的是告訴連結器將指定變數定位到某