The main reason for the 114MB (openSUSE 12.1's kernel-default-3.1.0-1.2.1.x86_64.rpm (34MB)) is that the kernel modules that are included with the RPM are collectively quite large.
From the extracted RPM, as an example:
$ du -sh lib/modules/3.1.0-1.2-default/kernel/*
1.3M lib/modules/3.1.0-1.2-default/kernel/arch
1004K lib/modules/3.1.0-1.2-default/kernel/crypto
60K lib/modules/3.1.0-1.2-default/kernel/Documentation
101M lib/modules/3.1.0-1.2-default/kernel/drivers
13M lib/modules/3.1.0-1.2-default/kernel/fs
32K lib/modules/3.1.0-1.2-default/kernel/kernel
252K lib/modules/3.1.0-1.2-default/kernel/lib
16K lib/modules/3.1.0-1.2-default/kernel/mm
12M lib/modules/3.1.0-1.2-default/kernel/net
72K lib/modules/3.1.0-1.2-default/kernel/security
9.2M lib/modules/3.1.0-1.2-default/kernel/sound
This shows there is approximately 101MB of drivers (which is essentially hardware enablement modules (USB, network cards, storage devices etc).
All kernels for modern distributions are going to have similar sized packages unless they split less common modules into sub-packages.