7a04f298d2
- update to latest telegram layer - remove some references to fields in tg.Entities that don't exist in the schema - originally added here: https://github.com/beeper/td/commit/820929062a2ba0104397bc01235ab58a9cff780e - referenced here - https://github.com/mautrix/telegramgo/commit/124f0967ed195b5a380c9bd02e170ada9710dde3 - https://github.com/mautrix/telegramgo/commit/4205047aab2e0639217148b5d125bfaab668bd8e
17 lines
514 B
Go
17 lines
514 B
Go
package crypto
|
|
|
|
import "math/big"
|
|
|
|
// Prime checks that given number is prime.
|
|
func Prime(p *big.Int) bool {
|
|
// TODO(tdakkota): maybe it should be smaller?
|
|
// 1 - 1/4^64 is equal to 0.9999999999999999999999999999999999999970612641229442812300781587
|
|
//
|
|
// TDLib uses nchecks = 64
|
|
// See https://github.com/tdlib/td/blob/d161323858a782bc500d188b9ae916982526c262/tdutils/td/utils/BigNum.cpp#L155.
|
|
const probabilityN = 64
|
|
|
|
// ProbablyPrime is mutating, so we need a copy
|
|
return p.ProbablyPrime(probabilityN)
|
|
}
|