diff --git a/src/exp_rapide.py b/src/exp_rapide.py
new file mode 100644
index 0000000000000000000000000000000000000000..fe3353d7c9d1f6c55114dcdc57dae365df2be171
--- /dev/null
+++ b/src/exp_rapide.py
@@ -0,0 +1,28 @@
+def exp_rapide(nb: int, exp: int, mod: int) -> int:	
+	list_exp = [int(x) for x in bin(exp)[:1:-1]]
+
+	# Créer la liste de l'exp decomposé
+	a = []
+	a.append(nb ** 1 % mod)
+	for x in range(1, len(list_exp)):
+		a.append(a[x-1]**2 % mod)
+
+
+	# Calcule l'exp rapide
+	out = 1
+	for index, valeur in enumerate(list_exp):
+		if valeur == 1:
+			out *= a[index] % mod
+
+	return out % mod
+
+
+
+if __name__ == '__main__':
+
+	u = 68393426
+	n = 124344401
+	d = 29995379
+
+	# print(exp_rapide(6, 392, 13))
+	print(exp_rapide(u, d, n))