Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
base repository: Legrandin/pycryptodome
Choose a Base Repository
Legrandin/pycryptodome
0x5y/pycryptodome
0xacb/pycryptodome
5l1v3r1/pycryptodome
Alexis-D/pycryptodome
Alphahpla/pycryptodome
Alsekar/pycryptodome
Andyoung/pycryptodome
Bernie/pycryptodome
BhargavMahajan/pycryptodome
Bita1978/pycryptodome
ChargerAirHockey/pycryptodome
Coeur/pycryptodome
CuPidev/pycryptodome
DrWoodMan/pycryptodome
Etuloser/pycryptodome
EverydayLearning/pycryptodome
Fixdq/pycryptodome
Frankkkkk/pycryptodome
Gallaecio/pycryptodome
GeeF/pycryptodome
Gnof/pycryptodome
Hasimir/pycryptodome
Hemoth/pycryptodome
IPv4v6/pycryptodome
JeremyRand/pycryptodome
LanHEIGHT/pycryptodome
Legorooj/pycryptodome
NataliaDeriuzhova/pycryptodome
NathanReb/pycryptodome
Nidhi7Sharma/pycryptodome
OneKeyHQ/pycryptodome
Paxxi/pycryptodome
PeterMosmans/pycryptodome
Phimanlol/pycryptodome
Piquelyz/pycryptodome
Rakesh-A/pycryptodome
Rexoid/pycryptodome
RileyWilliams/pycryptodome
RyanHubs/pycryptodome
SinCatGit/pycryptodome
SolarDon/pycryptodome
SomberNight/pycryptodome
Suckzoo/pycryptodome
SuicideSin/pycryptodome
Tendrid/pycryptodome
Tr4il/pycryptodome
WangWangZhou/pycryptodome
YodelingPenguin/pycryptodome
YunaJin/pycryptodome
acabey/pycryptodome
addenial/pycryptodome
aeby/pycryptodome
al45tair/pycryptodome
alanjds/pycryptodome
aleecy/pycryptodome
alexbriskin/pycryptodome
alexvechirko/pycryptodome
alxchk/pycryptodome
andersk/pycryptodome
andreeaprocab/pycryptodome
aner1797/pycryptodome
anningwang/pycryptodome
arsenico13/pycryptodome
arturhgca/pycryptodome
ashishnitinpatil/pycryptodome
aweffr/pycryptodome
battyc/pycryptodome
bauerj/pycryptodome
bsreera/pycryptodome
caiqing/pycryptodome
cclauss/pycryptodome
chutz/pycryptodome
clinoge/pycryptodome
colatkinson/pycryptodome
credentiality/pycryptodome
cryptogun/pycryptodome
cschaffner/pycryptodome
cybort/pycryptodome
dahuzi998/pycryptodome
daikuei/pycryptodome
dfranganillo/pycryptodome
dickyM/pycryptodome
dlenwell/pycryptodome
drewbanin/pycryptodome
drewzhang/pycryptodome
ekapujiw2002/pycryptodome
elias6/pycryptodome
fawkesley/pycryptodome
frispete/pycryptodome
fviard/pycryptodome
gbhuvneshwar/pycryptodome
gprossliner/pycryptodome
gruentee/pycryptodome
hannesvn/pycryptodome
happyshi0402/pycryptodome
harishankarv/pycryptodome
heikoheiko/pycryptodome
hjat2005/pycryptodome
houluy/pycryptodome
hugovk/pycryptodome
i-spark/pycryptodome
ii0/pycryptodome
inikolcev/pycryptodome
jackspicer1229/pycryptodome
jackyhau/pycryptodome
jakirkham/pycryptodome
jamesdu0504/pycryptodome
jammydee40/pycryptodome
jaywink/pycryptodome
jllin3029/pycryptodome
joaoe/pycryptodome
joe-bowman/pycryptodome
johanvanderkuijl/pycryptodome
jrchen982/pycryptodome
juanrubio/pycryptodome
jxyddtc/pycryptodome
kenvontucky/pycryptodome
koolfy/pycryptodome
ksyourex/pycryptodome
ktnoc/pycryptodome
ladin157/pycryptodome
laurolima/pycryptodome
leileigong/pycryptodome
lenjoy/pycryptodome
leonliu315/pycryptodome
lochotzke/pycryptodome
lorenaman/pycryptodome
louishot/pycryptodome
magn3141/pycryptodome
majuscule/pycryptodome
mans0954/pycryptodome
mattevenson/pycryptodome
mattsb42/pycryptodome
maxarmin/pycryptodome
mexicanamerican/pycryptodome
microbet/pycryptodome
mjiujiang/pycryptodome
morristech/pycryptodome
mustakarhu/pycryptodome
ncarve/pycryptodome
nehalrp/pycryptodome
netlovehf/pycryptodome
neville133/pycryptodome
nffly/pycryptodome
nicois/pycryptodome
nicolas3355/pycryptodome
niulinlnc/pycryptodome
nkaminski/pycryptodome
nycto-hackerone/pycryptodome
ojso/pycryptodome
opkl/pycryptodome
oyiptong/pycryptodome
paul94p/pycryptodome
pbeaure/pycryptodome
plattrap/pycryptodome
puddly/pycryptodome
qiuxiangdong/pycryptodome
r4nx/pycryptodome
rafael-vieira-coelho/pycryptodome
rjshaver/pycryptodome
rlittlefield/pycryptodome
romalin99/pycryptodome
rrosajp/pycryptodome
ryanscovill/pycryptodome
sarneaud/pycryptodome
sayoojsamuel/pycryptodome
schlenk/pycryptodome
scourc/pycryptodome
sebastiandragomir/pycryptodome
sharpvik/pycryptodome
shengulong/pycryptodome
shrawant/pycryptodome
siccegge/pycryptodome
simdeveloper/pycryptodome
simon-liu/pycryptodome
siyuanpeng/pycryptodome
specialsymbol/pycryptodome
spz1st/pycryptodome
sseering/pycryptodome
sylvainpelissier/pycryptodome
tcastonzo/pycryptodome
thesquib/pycryptodome
tintinweb/pycryptodome
vesellov/pycryptodome
viponedream/pycryptodome
wangqi01/pycryptodome
xiexiaopeng2016/pycryptodome
xuesong-hu/pycryptodome
xueyumusic/pycryptodome
ymdatta/pycryptodome
youngseaz/pycryptodome
yousha806/pycryptodome
yufi113/pycryptodome
yvette321911/pycryptodome
yylluu/pycryptodome
zcstarr/pycryptodome
zejn/pycryptodome
zerolugithub/pycryptodome
zhangli344236745/pycryptodome
Nothing to show
base: v3.9.8
head repository: Legrandin/pycryptodome
Choose a Head Repository
Legrandin/pycryptodome
0x5y/pycryptodome
0xacb/pycryptodome
5l1v3r1/pycryptodome
Alexis-D/pycryptodome
Alphahpla/pycryptodome
Alsekar/pycryptodome
Andyoung/pycryptodome
Bernie/pycryptodome
BhargavMahajan/pycryptodome
Bita1978/pycryptodome
ChargerAirHockey/pycryptodome
Coeur/pycryptodome
CuPidev/pycryptodome
DrWoodMan/pycryptodome
Etuloser/pycryptodome
EverydayLearning/pycryptodome
Fixdq/pycryptodome
Frankkkkk/pycryptodome
Gallaecio/pycryptodome
GeeF/pycryptodome
Gnof/pycryptodome
Hasimir/pycryptodome
Hemoth/pycryptodome
IPv4v6/pycryptodome
JeremyRand/pycryptodome
LanHEIGHT/pycryptodome
Legorooj/pycryptodome
NataliaDeriuzhova/pycryptodome
NathanReb/pycryptodome
Nidhi7Sharma/pycryptodome
OneKeyHQ/pycryptodome
Paxxi/pycryptodome
PeterMosmans/pycryptodome
Phimanlol/pycryptodome
Piquelyz/pycryptodome
Rakesh-A/pycryptodome
Rexoid/pycryptodome
RileyWilliams/pycryptodome
RyanHubs/pycryptodome
SinCatGit/pycryptodome
SolarDon/pycryptodome
SomberNight/pycryptodome
Suckzoo/pycryptodome
SuicideSin/pycryptodome
Tendrid/pycryptodome
Tr4il/pycryptodome
WangWangZhou/pycryptodome
YodelingPenguin/pycryptodome
YunaJin/pycryptodome
acabey/pycryptodome
addenial/pycryptodome
aeby/pycryptodome
al45tair/pycryptodome
alanjds/pycryptodome
aleecy/pycryptodome
alexbriskin/pycryptodome
alexvechirko/pycryptodome
alxchk/pycryptodome
andersk/pycryptodome
andreeaprocab/pycryptodome
aner1797/pycryptodome
anningwang/pycryptodome
arsenico13/pycryptodome
arturhgca/pycryptodome
ashishnitinpatil/pycryptodome
aweffr/pycryptodome
battyc/pycryptodome
bauerj/pycryptodome
bsreera/pycryptodome
caiqing/pycryptodome
cclauss/pycryptodome
chutz/pycryptodome
clinoge/pycryptodome
colatkinson/pycryptodome
credentiality/pycryptodome
cryptogun/pycryptodome
cschaffner/pycryptodome
cybort/pycryptodome
dahuzi998/pycryptodome
daikuei/pycryptodome
dfranganillo/pycryptodome
dickyM/pycryptodome
dlenwell/pycryptodome
drewbanin/pycryptodome
drewzhang/pycryptodome
ekapujiw2002/pycryptodome
elias6/pycryptodome
fawkesley/pycryptodome
frispete/pycryptodome
fviard/pycryptodome
gbhuvneshwar/pycryptodome
gprossliner/pycryptodome
gruentee/pycryptodome
hannesvn/pycryptodome
happyshi0402/pycryptodome
harishankarv/pycryptodome
heikoheiko/pycryptodome
hjat2005/pycryptodome
houluy/pycryptodome
hugovk/pycryptodome
i-spark/pycryptodome
ii0/pycryptodome
inikolcev/pycryptodome
jackspicer1229/pycryptodome
jackyhau/pycryptodome
jakirkham/pycryptodome
jamesdu0504/pycryptodome
jammydee40/pycryptodome
jaywink/pycryptodome
jllin3029/pycryptodome
joaoe/pycryptodome
joe-bowman/pycryptodome
johanvanderkuijl/pycryptodome
jrchen982/pycryptodome
juanrubio/pycryptodome
jxyddtc/pycryptodome
kenvontucky/pycryptodome
koolfy/pycryptodome
ksyourex/pycryptodome
ktnoc/pycryptodome
ladin157/pycryptodome
laurolima/pycryptodome
leileigong/pycryptodome
lenjoy/pycryptodome
leonliu315/pycryptodome
lochotzke/pycryptodome
lorenaman/pycryptodome
louishot/pycryptodome
magn3141/pycryptodome
majuscule/pycryptodome
mans0954/pycryptodome
mattevenson/pycryptodome
mattsb42/pycryptodome
maxarmin/pycryptodome
mexicanamerican/pycryptodome
microbet/pycryptodome
mjiujiang/pycryptodome
morristech/pycryptodome
mustakarhu/pycryptodome
ncarve/pycryptodome
nehalrp/pycryptodome
netlovehf/pycryptodome
neville133/pycryptodome
nffly/pycryptodome
nicois/pycryptodome
nicolas3355/pycryptodome
niulinlnc/pycryptodome
nkaminski/pycryptodome
nycto-hackerone/pycryptodome
ojso/pycryptodome
opkl/pycryptodome
oyiptong/pycryptodome
paul94p/pycryptodome
pbeaure/pycryptodome
plattrap/pycryptodome
puddly/pycryptodome
qiuxiangdong/pycryptodome
r4nx/pycryptodome
rafael-vieira-coelho/pycryptodome
rjshaver/pycryptodome
rlittlefield/pycryptodome
romalin99/pycryptodome
rrosajp/pycryptodome
ryanscovill/pycryptodome
sarneaud/pycryptodome
sayoojsamuel/pycryptodome
schlenk/pycryptodome
scourc/pycryptodome
sebastiandragomir/pycryptodome
sharpvik/pycryptodome
shengulong/pycryptodome
shrawant/pycryptodome
siccegge/pycryptodome
simdeveloper/pycryptodome
simon-liu/pycryptodome
siyuanpeng/pycryptodome
specialsymbol/pycryptodome
spz1st/pycryptodome
sseering/pycryptodome
sylvainpelissier/pycryptodome
tcastonzo/pycryptodome
thesquib/pycryptodome
tintinweb/pycryptodome
vesellov/pycryptodome
viponedream/pycryptodome
wangqi01/pycryptodome
xiexiaopeng2016/pycryptodome
xuesong-hu/pycryptodome
xueyumusic/pycryptodome
ymdatta/pycryptodome
youngseaz/pycryptodome
yousha806/pycryptodome
yufi113/pycryptodome
yvette321911/pycryptodome
yylluu/pycryptodome
zcstarr/pycryptodome
zejn/pycryptodome
zerolugithub/pycryptodome
zhangli344236745/pycryptodome
Nothing to show
compare: v3.9.9
  • 10 commits
  • 12 files changed
  • 0 comments
  • 4 contributors
Commits on Sep 03, 2020
Commits on Sep 20, 2020
Commits on Oct 27, 2020
Commits on Nov 01, 2020
@@ -1,4 +1,7 @@
language: python
arch:
- amd64
- arm64
python:
- "2.7"
- "3.4"
@@ -20,21 +23,26 @@ matrix:
env: CFFI=no
dist: trusty
- python: pypy
arch: amd64
env: CFFI=yes
- python: pypy3
arch: amd64
env: CFFI=yes
- language: c
script: cd src/test && make
after_success: true
- language: c
dist: trusty
arch: amd64
install: sudo apt-get install libc6-dev-i386
script: cd src/test && CFLAGS="-m32" UNDEFS="-UHAVE_UINT128" make
after_success: true
- language: c
arch: amd64
script: cd src/test && CPPFLAGS="-DHAVE_X86INTRIN_H" make
after_success: true
- python: 3.8
arch: amd64
install: pip install mypy
script: mypy lib/
after_success: true
@@ -1,6 +1,17 @@
Changelog
=========

3.9.9 (2 November 2020)
+++++++++++++++++++++++

Resolved issues
---------------
* GH#435: Fixed ``Crypto.Util.number.size`` for negative numbers.

New features
------------
* Build Python 3.9 wheels on Windows.

3.9.8 (23 June 2020)
++++++++++++++++++++

@@ -24,7 +24,7 @@ As an example, a sender may encrypt a message in this way::
At the receiver side, decryption can be done using the private part of
the RSA key::

>>> From Crypto.Hash import SHA
>>> from Crypto.Hash import SHA
>>> from Crypto import Random
>>>
>>> key = RSA.importKey(open('privkey.der').read())
@@ -16,14 +16,6 @@ environment:
PYTHON_ARCH: "64"
WINDOWS_SDK_VERSION: "v7.0"

- PYTHON: "C:\\Python35"
PYTHON_VERSION: "3.5.0"
PYTHON_ARCH: "32"

- PYTHON: "C:\\Python35-x64"
PYTHON_VERSION: "3.5.0"
PYTHON_ARCH: "64"

- PYTHON: "C:\\Python36"
PYTHON_VERSION: "3.6.0"
PYTHON_ARCH: "32"
@@ -48,6 +40,14 @@ environment:
PYTHON_VERSION: "3.8.0"
PYTHON_ARCH: "64"

- PYTHON: "C:\\Python39"
PYTHON_VERSION: "3.9.0"
PYTHON_ARCH: "32"

- PYTHON: "C:\\Python39-x64"
PYTHON_VERSION: "3.9.0"
PYTHON_ARCH: "64"

init:
- ECHO "%PYTHON% %PYTHON_VERSION% %PYTHON_ARCH%"

@@ -13,5 +13,5 @@ class PKCS115_Cipher:
def encrypt(self, message: Buffer) -> bytes: ...
def decrypt(self, ciphertext: Buffer) -> bytes: ...

def new(key: Buffer,
def new(key: RsaKey,
randfunc: Optional[Callable[[int], bytes]] = ...) -> PKCS115_Cipher: ...
@@ -129,6 +129,7 @@ def test_size(self):
self.assertEqual(number.size(0xa2),8)
self.assertEqual(number.size(0xa2ba40),8*3)
self.assertEqual(number.size(0xa2ba40ee07e3b2bd2f02ce227f36a195024486e49c19cb41bbbdfbba98b22b0e577c2eeaffa20d883a76e65e394c69d4b3c05a1e8fadda27edb2a42bc000fe888b9b32c22d15add0cd76b3e7936e19955b220dd17d4ea904b1ec102b2e4de7751222aa99151024c7cb41cc5ea21d00eeb41f7c800834d2c6e06bce3bce7ea9a5), 1024)
self.assertRaises(ValueError, number.size, -1)


def get_tests(config={}):
@@ -61,7 +61,7 @@ def remaining_data(self):
def read(self, length):
new_index = self._index + length
if new_index > len(self._buffer):
raise ValueError
raise ValueError("Not enough data for DER decoding: expected %d bytes and found %d" % (new_index, len(self._buffer)))

result = self._buffer[self._index:new_index]
self._index = new_index
@@ -50,6 +50,9 @@ def ceil_div(n, d):
def size (N):
"""Returns the size of the number N in bits."""

if N < 0:
raise ValueError("Size in bits only avialable for non-negative numbers")

bits = 0
while N >> bits:
bits += 1
@@ -1,6 +1,6 @@
__all__ = ['Cipher', 'Hash', 'Protocol', 'PublicKey', 'Util', 'Signature',
'IO', 'Math']

version_info = (3, 9, '8')
version_info = (3, 9, '9')

__version__ = ".".join([str(x) for x in version_info])
@@ -1,2 +1,6 @@
[flake8]
max-line-length = 110

[metadata]
project_urls =
Source=https://github.com/Legrandin/pycryptodome/
@@ -2,26 +2,42 @@
set -e -x

printenv

if [[ !(${TRAVIS_PYTHON_VERSION} == 2.7 && ${CFFI} == yes) ]]; then
exit 1
ARCH=`uname -m`

# On Arm64, only build wheels in the Python 3.8 job
if [[ "$ARCH" = "aarch64" ]]; then
if [[ !(${TRAVIS_PYTHON_VERSION} == 3.8 && ${CFFI} == yes) ]]; then
exit 1;
fi
# On Arm64, only build wheels in the Python 2.7 job
elif [[ "$ARCH" = "x86_64" ]]; then
if [[ !(${TRAVIS_PYTHON_VERSION} == 2.7 && ${CFFI} == yes) ]]; then
exit 1
fi
fi

# Only builds Linux wheels for tagged commits
if [ "${TRAVIS_TAG}"x == x ]; then
exit 2
fi

DOCKER_IMAGE_1=quay.io/pypa/manylinux1_x86_64
DOCKER_IMAGE_2=quay.io/pypa/manylinux1_i686
if [ "$ARCH" = "aarch64" ]; then
DOCKER_IMAGE=quay.io/pypa/manylinux2014_aarch64

docker pull $DOCKER_IMAGE
docker run --rm -v `pwd`:/io $DOCKER_IMAGE /io/travis/build-wheels.sh
else
DOCKER_IMAGE_1=quay.io/pypa/manylinux1_x86_64
DOCKER_IMAGE_2=quay.io/pypa/manylinux1_i686

docker pull $DOCKER_IMAGE_1
docker run --rm -v `pwd`:/io $DOCKER_IMAGE_1 /io/travis/build-wheels.sh
docker pull $DOCKER_IMAGE_1
docker run --rm -v `pwd`:/io $DOCKER_IMAGE_1 /io/travis/build-wheels.sh

docker pull $DOCKER_IMAGE_2
docker run --rm -v `pwd`:/io $DOCKER_IMAGE_2 linux32 /io/travis/build-wheels.sh
docker pull $DOCKER_IMAGE_2
docker run --rm -v `pwd`:/io $DOCKER_IMAGE_2 linux32 /io/travis/build-wheels.sh
fi

ls wheelhouse/

# Keep only manylinux files
find wheelhouse -type f -name '*-linux_*' -delete
sudo find wheelhouse -type f -name '*-linux_*' -delete
@@ -2,6 +2,7 @@
set -e -x

export CFLAGS+=" -Wconversion"
ARCH=`uname -m`

PYVERSION=$(python -V 2>&1)
echo ${PYVERSION}
@@ -26,7 +27,11 @@ if [[ ${PYVERSION} != *"PyPy"* ]] || [ "${MAJOR}" -lt 3 ]; then
xflags="$xflags -tt"
fi

if [[ "$ARCH" = "aarch64" ]]; then
testflags="$testflags --skip-slow-tests"
fi

echo "Custom Python flags:" \"${xflags:-none}\"

python $xflags setup.py build
python $xflags setup.py test
python $xflags setup.py test $testflags

No commit comments for this range