ForHosting KIT · Matematica

Calcolatore passo del bambino-passo del gigante

2 elevato alla 9 dà resto 5 nella divisione per 13, quindi il logaritmo discreto di 5 in base 2 modulo 13 è 9. Inserisca una base, un obiettivo e un modulo, primo o composto, per trovare l'esponente. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
G
2
H
5
N
13
Ottiene
X
9
Equazione
2^9 ≡ 5 (mod 13)

Questo calcolatore passo del bambino-passo del gigante trova un esponente non negativo x per cui g elevato a x è congruente a h modulo n. Diversamente dai risolutori limitati ai campi primi, gestisce anche moduli composti e basi non coprime mediante una riduzione preliminare. Il risultato comprende residui normalizzati e un’equazione di verifica leggibile. Se il bersaglio non è raggiungibile dal generatore indicato, la richiesta restituisce un errore chiaro anziché un risultato vuoto e ambiguo.

Descriva con precisione l’equazione modulare

Fornisca tre interi: g è il generatore o la base, h è il bersaglio e n è il modulo. Il calcolatore cerca un x non negativo che soddisfi g^x congruente a h modulo n. Sono ammesse basi e destinazioni negative, poi normalizzate nell’intervallo standard da zero a n meno uno.

La risposta riporta tali valori normalizzati, così Lei può controllare l’equazione esatta anche se l’input originale era fuori intervallo. Il modulo deve essere almeno due e può essere primo o composto entro il limite pubblicato. L’esponente zero viene esaminato per primo, secondo la convenzione usuale per cui g^0 vale uno modulo n.

Un bersaglio congruente a uno produce quindi immediatamente x uguale a zero. La risposta positiva contiene x, gli operandi normalizzati, il nome del metodo e un’equazione di verifica leggibile. Il formato è adatto sia al controllo manuale sia alle asserzioni automatiche, senza obbligare ogni applicazione client a ricostruire il testo.

Comprenda i passi piccoli e quelli giganti

Una ricerca diretta prova gli esponenti consecutivi e può richiedere un numero di moltiplicazioni modulari proporzionale al modulo. Il metodo passo del bambino-passo del gigante scambia memoria con velocità. Sceglie una larghezza vicina alla radice quadrata dell’intervallo, registra le piccole potenze consecutive della base e poi attraversa il bersaglio con salti di quella larghezza.

Una corrispondenza tra residui combina i due indici e ricava l’esponente. La tabella e il numero di salti hanno quindi ordine pari alla radice quadrata di n. Questa implementazione è deterministica: non campiona candidati, non dipende da semi casuali, non contatta servizi e non usa l’orologio.

Per input non coprimi applica prima la forma estesa. I divisori comuni vengono eliminati uno alla volta conservando uno scostamento dell’esponente e un moltiplicatore. Se un divisore rende irraggiungibile il bersaglio, l’equazione viene respinta subito.

Quando la base ridotta è invertibile, parte la ricerca nella tabella e viene aggiunto lo scostamento finale. Il candidato restituito viene infine controllato in modo indipendente con l’esponenziazione modulare.

Limiti e casi senza soluzione

Un logaritmo discreto non esiste necessariamente. Le potenze di g possono visitare soltanto una parte dei residui modulo n, lasciando h fuori dalla sequenza generata. È una scelta intenzionale, utile nelle procedure in cui tale assenza deve fermare il passaggio successivo: Lei può gestire il codice standard senza cercare campi nulli.

Interi malformati, campi mancanti e un modulo fuori dai limiti producono la stessa categoria con messaggi più specifici. Il costo computazionale cresce con la radice quadrata del modulo ridotto, poiché l’algoritmo crea una tabella in memoria; il limite impedisce allocazioni impreviste e rende finita l’esecuzione. Usi parametri contenuti per didattica, vettori di prova, enigmi e diagnostica.

Lo strumento non recupera segreti da gruppi crittografici reali, volutamente molto più grandi.

Verificare esercizi di aritmetica modulare

Controlli un’equazione didattica e riceva l’esponente con una congruenza leggibile da sostituire nel problema.

Creare vettori di prova deterministici

Generi risposte note per codice di esponenziazione modulare, anche con moduli composti e fattori condivisi.

Il modulo deve essere primo?

No. La riduzione estesa gestisce moduli primi e composti, compresi molti casi in cui g e n condividono un fattore.

Quale esponente viene restituito?

Il risolutore cerca esponenti non negativi, considera esplicitamente lo zero e restituisce una soluzione verificata con BSGS.

Perché esiste un limite per il modulo?

Il metodo usa memoria e tempo proporzionali alla radice quadrata. Il limite rende prevedibili tabella ed esecuzione.

Cosa succede se non esiste alcun esponente?

Le potenze della base possono raggiungere solo una parte dei resti modulo n, quindi l'obiettivo può restare fuori portata. In quel caso riceve un messaggio chiaro che nessun esponente esiste, invece di una risposta vuota o fuorviante.

Perché è più veloce che provare gli esponenti uno per uno?

Una ricerca diretta può richiedere tanti passi quanto è grande il modulo. Questo metodo conserva una tabella di piccole potenze e poi avanza a grandi salti, così entrambe le parti costano circa la radice quadrata di n.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/numth/baby-step-giant-step

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/numth/baby-step-giant-step \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"g":2,"h":5,"n":13}'
{
  "g": 2,
  "h": 5,
  "n": 13
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.baby_step_giant_step",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_n1000000000000
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Descriva con precisione l’equazione modulare

I dati possono essere interi JSON oppure stringhe di cifre, soluzione utile quando un linguaggio client non rappresenta comodamente un valore.

Gestisca limiti, errori e utilizzo dell’API

In tal caso la capacità solleva un errore invalid_input con un messaggio che dichiara l’assenza dell’esponente. Il browser usa lo stesso risolutore puro dell’API. Ogni elemento automatizzato costa $0.002, senza aritmetica dipendente dalla rete né risultati casuali.

Rilevare bersagli irraggiungibili

Usi l’errore standard invalid_input per fermare un flusso quando il bersaglio non appartiene alla sequenza di potenze di g.

Che cosa accade se il logaritmo discreto non esiste?

La chiamata fallisce con invalid_input e un messaggio che segnala l’assenza di un esponente per i valori forniti.

Quanto costa una chiamata API?

Ogni elemento costa $0.002. Lo strumento nel browser usa la stessa libreria pura per i calcoli interattivi.

Leggi la documentazione completa del KIT →